diff --git a/Headers/DJIAirLink.h b/Headers/DJIAirLink.h
index 2865485..9b5b6c2 100644
3.1.1/​Headers/​DJIAirLink.​h3.2/​Headers/​DJIAirLink.​h
14 14
15 /​**15 /​**
16 ·​*16 ·​*
17 ·​*··​The·​class·​contains·​different·​wireless·​links·​between·​the·​aircraft,​·​the·​remote·​controller·​and·​the·​mobile·​device.​·A·product·may·only·support·some·of·​the·wireless·links·within·DJIAirLink.​·Check·the·query·method·(e.​g.​·isWiFiLinkSupported)​·before·accessing·a·wireless·link.​17 ·​*··​The·​class·​contains·​different·​wireless·​links·​between·​the·​aircraft,​·​the·​remote·​controller·​and·​the·​mobile·​device.​·To·determine·whether·​the·current·device·supports·WiFi·and·Lightbridge·features,​·call·`isWifiLinkSupported`​·​or·`isLBAirLinkSupported​`.​
18 ·​*18 ·​*
19 ·​*···​With·​the·​Osmo·​the·​mobile·​device·​communicates·​directly·​via·​wifi.​19 ·​*···​With·​the·​Osmo·​the·​mobile·​device·​communicates·​directly·​via·​wifi.​
20 ·​*/​20 ·​*/​
43 ·​*··​Returns·​the·​WiFi·​Air·​Link·​if·​it·​is·​available.​43 ·​*··​Returns·​the·​WiFi·​Air·​Link·​if·​it·​is·​available.​
44 ·​*44 ·​*
45 ·​*/​45 ·​*/​
46 @property·​(nonatomic,​·​strong)​·​DJIWiFiLink·​*wifiLink;​46 @property·​(nonatomic,​·​strong)​·​DJIWiFiLink·​*_Nullable·wifiLink;​
47 47
48 /​**48 /​**
49 ·​*··​Returns·​the·​Lightbridge·​Air·​Link·​if·​it·​is·​available.​49 ·​*··​Returns·​the·​Lightbridge·​Air·​Link·​if·​it·​is·​available.​
50 ·​*50 ·​*
51 ·​*/​51 ·​*/​
52 @property·​(nonatomic,​·​strong)​·​DJILBAirLink·​*lbAirLink;​52 @property·​(nonatomic,​·​strong)​·​DJILBAirLink·​*_Nullable·lbAirLink;​
53 53
54 /​**54 /​**
55 ·​*··​Returns·​the·​Auxiliary·​Control·​Air·​Link·​if·​it·​is·​available.​55 ·​*··​Returns·​the·​Auxiliary·​Control·​Air·​Link·​if·​it·​is·​available.​
56 ·​*/​56 ·​*/​
57 @property·​(nonatomic,​·​strong)​·​DJIAuxLink·​*auxLink;​57 @property·​(nonatomic,​·​strong)​·​DJIAuxLink·​*_Nullable·auxLink;​
58 58
59 @end59 @end
diff --git a/Headers/DJIAircraft.h b/Headers/DJIAircraft.h
index 3ff604b..7bce729 100755
3.1.1/​Headers/​DJIAircraft.​h3.2/​Headers/​DJIAircraft.​h
14 @class·​DJIRemoteController;​14 @class·​DJIRemoteController;​
15 @class·​DJICamera;​15 @class·​DJICamera;​
16 @class·​DJIAirLink;​16 @class·​DJIAirLink;​
17 @protocol·​DJIAircraftDelegate;​
18 17
19 NS_ASSUME_NONNULL_BEG​IN18 NS_ASSUME_NONNULL_BEG​IN
20 19
58 ·​*··​The·​Aircraft's·​model·​name·​is·​Phantom·​4.​57 ·​*··​The·​Aircraft's·​model·​name·​is·​Phantom·​4.​
59 ·​*/​58 ·​*/​
60 extern·​NSString·​*const·​DJIAircraftModelNameP​hantom4;​59 extern·​NSString·​*const·​DJIAircraftModelNameP​hantom4;​
60 /​**
61 ·​*··​The·​Aircraft's·​model·​name·​is·​Matrice·​600.​
62 ·​*/​
63 extern·​NSString·​*const·​DJIAircraftModelNameM​atrice600;​
61 64
62 /​**65 /​**
63 ·​*··​This·​class·​contains·​the·​components·​of·​an·​aircraft.​66 ·​*··​This·​class·​contains·​the·​components·​of·​an·​aircraft.​
86 @property(nonatomic,​·​readonly)​·​DJIGimbal·​*_Nullable·​gimbal;​89 @property(nonatomic,​·​readonly)​·​DJIGimbal·​*_Nullable·​gimbal;​
87 90
88 /​**91 /​**
89 ·​*··​Returns·​an·​instance·​of·​the·​aircraft's·​smart·​battery.​92 ·​*··​Returns·​an·​instance·​of·​the·​aircraft's·​smart·​battery.​·
90 ·​*93 ·​*
91 ·​*··​@see·​DJIBattery94 ·​*··​@see·​DJIBattery
92 ·​*/​95 ·​*/​
93 @property(nonatomic,​·​readonly)​·​DJIBattery·​*_Nullable·​battery;​96 @property(nonatomic,​·​readonly)​·​DJIBattery·​*_Nullable·​battery;​
94 97
95 /​**98 /​**
99 ·​*··​Returns·​an·​array·​of·​aircraft's·​batteries.​
100 ·​*··​It·​is·​used·​when·​the·​aircraft·​has·​multiple·​batteries,​·​e.​g.​·​Matrice·​600.​
101 ·​*
102 ·​*··​@see·​DJIBattery
103 ·​*/​
104 @property(nonatomic,​·​readonly)​·​NSArray<DJIBattery·​*>·​*_Nullable·​batteries;​
105
106 /​**
96 ·​*··​Returns·​an·​instance·​of·​the·​aircraft's·​remote·​controller.​107 ·​*··​Returns·​an·​instance·​of·​the·​aircraft's·​remote·​controller.​
97 ·​*108 ·​*
98 ·​*··​@see·​DJIRemoteController109 ·​*··​@see·​DJIRemoteController
diff --git a/Headers/DJIBaseProduct.h b/Headers/DJIBaseProduct.h
index 31df2c5..5ff1d13 100644
3.1.1/​Headers/​DJIBaseProduct.​h3.2/​Headers/​DJIBaseProduct.​h
56 56
57 @class·​DJIBaseComponent;​57 @class·​DJIBaseComponent;​
58 @class·​DJIBaseProduct;​58 @class·​DJIBaseProduct;​
59 @class·​DJIDiagnostics;​
59 60
60 /​**61 /​**
61 ·​*62 ·​*
78 ·​*/​79 ·​*/​
79 -​·​(void)​product:​(DJIBaseProduct·​*)​product·​connectivityChanged:​(BOOL)​isConnected;​80 -​·​(void)​product:​(DJIBaseProduct·​*)​product·​connectivityChanged:​(BOOL)​isConnected;​
80 81
82 /​**
83 ·​*··​Callback·​function·​that·​updates·​the·​product's·​current·​diagnostics·​information.​
84 ·​*
85 ·​*/​
86 -​·​(void)​product:​(DJIBaseProduct*·​_Nonnull)​product·​didUpdateDiagnosticsI​nformation:​(NSArray*·​_Nonnull)​info;​
87
81 @end88 @end
82 89
83 /​**90 /​**
diff --git a/Headers/DJIBattery.h b/Headers/DJIBattery.h
index dd662a5..37bd401 100644
3.1.1/​Headers/​DJIBattery.​h3.2/​Headers/​DJIBattery.​h
164 ·​*··​@param·​battery······​Battery·​having·​an·​updated·​state.​164 ·​*··​@param·​battery······​Battery·​having·​an·​updated·​state.​
165 ·​*··​@param·​batteryState·​The·​battery's·​state.​165 ·​*··​@param·​batteryState·​The·​battery's·​state.​
166 ·​*/​166 ·​*/​
167 -​·​(void)​battery:​(DJIBattery·​*)​battery·​didUpdateState:​(DJIBatteryState·​*)​batteryState;​167 -​·​(void)​battery:​(DJIBattery·​*_Nonnull)​battery·​didUpdateState:​(DJIBatteryState·​*_Nonnull)​batteryState;​
168
169 @end
170
171 /​*********************​*********************​*********************​******************/​
172 #pragma·​mark·​-​·​DJIBatteryOverview
173 /​*********************​*********************​*********************​******************/​
174
175 /​**
176 ·​*··​Provides·​an·​overview·​of·​a·​battery·​-​·​used·​when·​multiple·​batteries·​are·​deployed·​on·​one·​product.​
177 ·​*/​
178 @interface·​DJIBatteryOverview·​:​·​NSObject
179
180 /​**
181 ·​*··​Index·​of·​the·​battery.​·​Index·​starts·​from·​0.​
182 ·​*··​For·​Matrice·​600,​·​the·​number·​1·​battery·​compartment·​relates·​to·​index·​0.​
183 ·​*/​
184 @property(nonatomic,​·​readonly)​·​NSUInteger·​index;​
185 /​**
186 ·​*··​`YES`·​if·​the·​battery·​is·​currently·​connected·​to·​the·​aircraft.​
187 ·​*/​
188 @property(nonatomic,​·​readonly)​·​BOOL·​isConnected;​
189 /​**
190 ·​*··​The·​remaining·​percentage·​energy·​of·​the·​battery·​with·​range·​[0,​100].​
191 ·​*/​
192 @property(nonatomic,​·​readonly)​·​NSInteger·​energyRemainingPercen​t;​
193
194 @end
195
196 /​*********************​*********************​*********************​******************/​
197 #pragma·​mark·​-​·​DJIBatteryAggregation​State
198 /​*********************​*********************​*********************​******************/​
199
200 /​**
201 ·​*··​Provides·​a·​real·​time·​summary·​of·​the·​aggregated·​battery·​system.​·
202 ·​*··​Only·​supported·​by·​M600.​
203 ·​*/​
204 @interface·​DJIBatteryAggregation​State·​:​·​NSObject
205
206 /​**
207 ·​*··​The·​number·​of·​currently·​connected·​batteries.​
208 ·​*/​
209 @property(nonatomic,​·​readonly)​·​NSUInteger·​numberOfConnectedBatt​eries;​
210
211 /​**
212 ·​*··​Returns·​the·​overview·​of·​batteries·​in·​the·​battery·​group.​·​When·​a·​battery·​is·​not·​connected,​·​the·​`isConnected`·​property·​is·​`NO`·​and·​the·​`energyRemainingPerce​nt`·​is·​zero.​
213 ·​*··​For·​Matrice·​600,​·​there·​are·​6·​elements·​in·​`batteryOverviews`.​
214 ·​*/​
215 @property(nonatomic,​·​readonly)​·​NSArray<DJIBatteryOve​rview·​*>*_Nullable·​batteryOverviews;​
216 /​**
217 ·​*··​Returns·​the·​current·​voltage·​(mV)​·​provided·​by·​the·​battery·​group.​
218 ·​*/​
219 @property(nonatomic,​·​readonly)​·​NSInteger·​currentVoltage;​
220 /​**
221 ·​*··​Returns·​the·​real·​time·​current·​draw·​through·​the·​batteries.​·​A·​negative·​value·​means·​the·​batteries·​are·​being·​discharged.​
222 ·​*/​
223 @property(nonatomic,​·​readonly)​·​NSInteger·​currentCurrent;​
224 /​**
225 ·​*··​Returns·​the·​the·​total·​amount·​of·​energy,​·​in·​mAh·​(milliamp·​hours)​,​·​stored·​in·​the·​batteries·​when·​the·​batteries·​are·​fully·​charged.​
226 ·​*/​
227 @property(nonatomic,​·​readonly)​·​NSInteger·​fullChargeEnergy;​
228 /​**
229 ·​*··​Returns·​the·​remaining·​energy·​stored·​in·​the·​batteries·​in·​mAh·​(milliamp·​hours)​.​
230 ·​*/​
231 @property(nonatomic,​·​readonly)​·​NSInteger·​currentEnergy;​
232 /​**
233 ·​*··​Returns·​the·​percentage·​of·​energy·​left·​in·​the·​battery·​group·​with·​range·​[0·​-​·​100].​
234 ·​*/​
235 @property(nonatomic,​·​readonly)​·​NSInteger·​energyRemainingPercen​t;​
236 /​**
237 ·​*··​Returns·​the·​highest·​temperature·​(in·​Centigrade)​·​among·​the·​batteries·​in·​the·​group,​·​with·​a·​range·​[-​128·​to·​127].​
238 ·​*/​
239 @property(nonatomic,​·​readonly)​·​NSInteger·​highestBatteryTempera​ture;​
240 /​**
241 ·​*··​`YES`·​if·​one·​of·​the·​batteries·​in·​the·​group·​is·​disconnected.​·​When·​it·​is·​`YES`,​·​the·​aircraft·​is·​not·​allowed·​to·​take·​off.​
242 ·​*/​
243 @property(nonatomic,​·​readonly)​·​BOOL·​batteryDisconnected;​
244 /​**
245 ·​*··​`YES`·​if·​there·​is·​significant·​difference·​between·​the·​voltage·​(above·​1.​5V)​·​of·​two·​batteries.​·​When·​it·​is·​`YES`,​·​the·​aircraft·​is·​not·​allowed·​to·​take·​off.​
246 ·​*/​
247 @property(nonatomic,​·​readonly)​·​BOOL·​voltageDifferenceDete​cted;​
248 /​**
249 ·​*··​`YES`·​if·​one·​of·​the·​batteries·​in·​the·​group·​has·​cells·​with·​low·​voltage.​·​When·​it·​is·​`YES`,​·​the·​aircraft·​is·​not·​allow·​to·​take·​off.​
250 ·​*/​
251 @property(nonatomic,​·​readonly)​·​BOOL·​lowCellVoltageDetecte​d;​
252 /​**
253 ·​*··​`YES`·​if·​one·​of·​the·​batteries·​in·​the·​group·​has·​damaged·​cells.​·​When·​it·​is·​`YES`,​·​the·​aircraft·​is·​not·​allow·​to·​take·​off.​
254 ·​*/​
255 @property(nonatomic,​·​readonly)​·​BOOL·​hasDamagedCell;​
256 /​**
257 ·​*··​`YES`·​if·​one·​of·​the·​batteries·​in·​the·​group·​has·​a·​firmware·​version·​different·​from·​the·​others.​·​When·​it·​is·​`YES`,​·​the·​aircraft·​is·​not·​allow·​to·​take·​off.​
258 ·​*/​
259 @property(nonatomic,​·​readonly)​·​BOOL·​firmwareDifferenceDet​ected;​
260
261 @end
262
263 /​*********************​*********************​*********************​******************/​
264 #pragma·​mark·​-​·​DJIBatteryAggregation​Delegate
265 /​*********************​*********************​*********************​******************/​
266
267 /​**
268 ·​*··​This·​protocol·​provides·​a·​delegate·​method·​for·​you·​to·​update·​the·​battery's·​current·​state.​
269 ·​*/​
270 @protocol·​DJIBatteryAggregation​Delegate·​<NSObject>
271
272 @optional
273
274 /​**
275 ·​*··​Updates·​the·​aggregate·​information·​of·​the·​batteries.​
276 ·​*··​Only·​supported·​by·​M600.​
277 ·​*
278 ·​*··​@param·​batteryState·​The·​battery's·​state.​
279 ·​*/​
280 -​·​(void)​batteriesDidUpdateSta​te:​(DJIBatteryAggregatio​nState·​*_Nonnull)​batteryState;​
168 281
169 @end282 @end
170 283
178 @interface·​DJIBattery·​:​·​DJIBaseComponent291 @interface·​DJIBattery·​:​·​DJIBaseComponent
179 292
180 /​**293 /​**
294 ·​*··​Sets·​the·​delegate·​to·​receive·​the·​battery·​aggregation·​information.​
295 ·​*··​Only·​supported·​by·​Matrice·​600.​
296 ·​*
297 ·​*··​@param·​delegate·​The·​delegate·​that·​will·​receive·​the·​aggregation·​information.​
298 ·​*/​
299 +(void)​setAggregationDelegat​e:​(id<DJIBatteryAggrega​tionDelegate>_Nullabl​e)​delegate;​
300 /​**
301 ·​*··​Gets·​the·​delegate·​that·​receives·​the·​battery·​aggregation·​state.​·​It·​is·​only·​useful·​when·​the·​aircraft·​has·​multiple·​batteries.​
302 ·​*··​Only·​supported·​by·​Matrice·​600.​
303 ·​*
304 ·​*··​@return·​the·​delegate·​receives·​the·​battery·​aggregation·​state.​
305 ·​*/​
306 +(id<DJIBatteryAggreg​ationDelegate>_Nullab​le)​aggregationDelegate;​
307
308 /​**
309 ·​*··​Returns·​the·​index·​of·​the·​battery.​·​It·​is·​useful·​when·​the·​aircraft·​has·​multiple·​batteries.​·​Index·​starts·​from·​0.​·​For·​products·​with·​only·​one·​battery,​·​the·​index·​is·​0.​
310 ·​*··​For·​Matrice·​600,​·​there·​are·​printed·​numbers·​on·​the·​battery·​boxes.​·​DJIBattery·​instance·​with·​index·​0·​corresponds·​to·​battery·​compartment·​number·​1.​
311 ·​*/​
312 @property(nonatomic,​·​readonly)​·​NSUInteger·​index;​·
313
314 /​**
181 ·​*··​Returns·​the·​number·​of·​battery·​cells.​315 ·​*··​Returns·​the·​number·​of·​battery·​cells.​
182 ·​*/​316 ·​*/​
183 @property(nonatomic,​·​readonly)​·​NSUInteger·​numberOfCell;​317 @property(nonatomic,​·​readonly)​·​NSUInteger·​numberOfCell;​
192 ·​*/​326 ·​*/​
193 -​·​(BOOL)​isSmartBattery;​327 -​·​(BOOL)​isSmartBattery;​
194 328
195 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​329 /​*********************​*********************​*********************​******************/​
196 #pragma·​mark·​Get·​battery·​properties·​and·​status330 #pragma·​mark·​Get·​battery·​properties·​and·​status
197 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​331 /​*********************​*********************​*********************​******************/​
332
198 /​**333 /​**
199 ·​*··​Gets·​the·​battery's·​history.​·​The·​DJI·​battery·​keeps·​the·​history·​for334 ·​*··​Gets·​the·​battery's·​history.​·​The·​DJI·​battery·​keeps·​the·​history·​for
200 ·​*··​the·​past·​30·​days.​·​The·​`history`·​variable·​in·​the·​block·​stores·​objects·​of·​type335 ·​*··​the·​past·​30·​days.​·​The·​`history`·​variable·​in·​the·​block·​stores·​objects·​of·​type
204 ·​*339 ·​*
205 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​340 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​
206 ·​*/​341 ·​*/​
207 -​·​(void)​getWarningInformation​RecordsWithCompletion​:​(void·​(^)​(NSArray<DJIBatteryWa​rningInformation·​*>·​*history,​·​NSError·​*_Nullable·​error)​)​block;​342 -​·​(void)​getWarningInformation​RecordsWithCompletion​:​(void·​(^_Nonnull)​(NSArray<DJIBatteryWa​rningInformation·​*>·​*_Nullable·history,​·​NSError·​*_Nullable·​error)​)​block;​
208 343
209 /​**344 /​**
210 ·​*··​Gets·​the·​battery's·​current·​state,​·​which·​is·​one·​of·​seven·​battery·​states·​that345 ·​*··​Gets·​the·​battery's·​current·​state,​·​which·​is·​one·​of·​seven·​battery·​states·​that
213 ·​*348 ·​*
214 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​349 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​
215 ·​*/​350 ·​*/​
216 -​·​(void)​getCurrentWarningInfo​rmationWithCompletion​:​(void·​(^)​(DJIBatteryWarningInf​ormation·​*state,​·​NSError·​*_Nullable·​error)​)​block;​351 -​·​(void)​getCurrentWarningInfo​rmationWithCompletion​:​(void·​(^_Nonnull)​(DJIBatteryWarningInf​ormation·​*_Nullable·state,​·​NSError·​*_Nullable·​error)​)​block;​
217 352
218 /​**353 /​**
219 ·​*··​Gets·​the·​battery's·​cell·​voltages.​·​The·​`cellArray`·​variable·​stores·​`DJIBatteryCell`·​objects.​·​Since·​the·​Inspire·​1·​battery·​has·​6·​cells,​·​`cellArray`354 ·​*··​Gets·​the·​battery's·​cell·​voltages.​·​The·​`cellArray`·​variable·​stores·​`DJIBatteryCell`·​objects.​·​Since·​the·​Inspire·​1·​battery·​has·​6·​cells,​·​`cellArray`
221 ·​*356 ·​*
222 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​357 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​
223 ·​*/​358 ·​*/​
224 -​·​(void)​getCellVoltagesWithCo​mpletion:​(void·​(^)​(NSArray<DJIBatteryCe​ll·​*>·​*cellArray,​·​NSError·​*_Nullable·​error)​)​block;​359 -​·​(void)​getCellVoltagesWithCo​mpletion:​(void·​(^_Nonnull)​(NSArray<DJIBatteryCe​ll·​*>·​*_Nullable·cellArray,​·​NSError·​*_Nullable·​error)​)​block;​
225 360
226 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​361 /​*********************​*********************​*********************​******************/​
227 #pragma·​mark·​Battery·​self·​discharge362 #pragma·​mark·​Battery·​self·​discharge
228 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​363 /​*********************​*********************​*********************​******************/​
364
229 /​**365 /​**
230 ·​*··​Sets·​the·​battery's·​custom·​self-​discharge·​configuration·​in·​the·​range·​of·​[1,​·​10]·​days.​366 ·​*··​Sets·​the·​battery's·​custom·​self-​discharge·​configuration·​in·​the·​range·​of·​[1,​·​10]·​days.​
231 ·​*··​For·​example,​·​if·​the·​value·​for·​`day`·​is·​`10`,​·​the·​battery·​will·​discharge·​over367 ·​*··​For·​example,​·​if·​the·​value·​for·​`day`·​is·​`10`,​·​the·​battery·​will·​discharge·​over
243 ·​*379 ·​*
244 ·​*··​@param·​result·​Remote·​execution·​result·​error·​block.​380 ·​*··​@param·​result·​Remote·​execution·​result·​error·​block.​
245 ·​*/​381 ·​*/​
246 -​·​(void)​getSelfDischargeDayWi​thCompletion:​(void·​(^)​(uint8_t·​day,​·​NSError·​*_Nullable·​error)​)​block;​382 -​·​(void)​getSelfDischargeDayWi​thCompletion:​(void·​(^_Nonnull)​(uint8_t·​day,​·​NSError·​*_Nullable·​error)​)​block;​
247 383
248 @end384 @end
249 385
diff --git a/Headers/DJICamera.h b/Headers/DJICamera.h
index b2ffe70..bb47d5e 100644
3.1.1/​Headers/​DJICamera.​h3.2/​Headers/​DJICamera.​h
132 ·​*··​units·​for·​the·​video·​buffer·​are·​bytes.​132 ·​*··​units·​for·​the·​video·​buffer·​are·​bytes.​
133 ·​*··​@param·​length······​Size·​of·​the·​address·​of·​the·​video·​data·​buffer·​in·​bytes.​133 ·​*··​@param·​length······​Size·​of·​the·​address·​of·​the·​video·​data·​buffer·​in·​bytes.​
134 ·​*/​134 ·​*/​
135 -​·​(void)​camera:​(DJICamera·​*)​camera·​didReceiveVideoData:​(uint8_t·​*)​videoBuffer·​length:​(size_t)​size;​135 -​·​(void)​camera:​(DJICamera·​*_Nonnull)​camera·​didReceiveVideoData:​(uint8_t·​*)​videoBuffer·​length:​(size_t)​size;​
136 136
137 /​**137 /​**
138 ·​*··​Updates·​the·​camera's·​current·​state.​138 ·​*··​Updates·​the·​camera's·​current·​state.​
140 ·​*··​@param·​camera······​Camera·​that·​updates·​the·​current·​state.​140 ·​*··​@param·​camera······​Camera·​that·​updates·​the·​current·​state.​
141 ·​*··​@param·​systemState·​The·​camera's·​system·​state.​141 ·​*··​@param·​systemState·​The·​camera's·​system·​state.​
142 ·​*/​142 ·​*/​
143 -​·​(void)​camera:​(DJICamera·​*)​camera·​didUpdateSystemState:​(DJICameraSystemState​·​*)​systemState;​143 -​·​(void)​camera:​(DJICamera·​*_Nonnull)​camera·​didUpdateSystemState:​(DJICameraSystemState​·​*_Nonnull)​systemState;​
144 144
145 /​**145 /​**
146 ·​*··​Tells·​the·​delegate·​that·​the·​lens·​information·​is·​updated.​146 ·​*··​Tells·​the·​delegate·​that·​the·​lens·​information·​is·​updated.​
149 ·​*··​@param·​camera······​Camera·​that·​sends·​out·​the·​updatd·​lens·​information.​149 ·​*··​@param·​camera······​Camera·​that·​sends·​out·​the·​updatd·​lens·​information.​
150 ·​*··​@param·​lensState···​The·​camera's·​lens·​state.​150 ·​*··​@param·​lensState···​The·​camera's·​lens·​state.​
151 ·​*/​151 ·​*/​
152 -​·​(void)​camera:​(DJICamera·​*)​camera·​didUpdateLensState:​(DJICameraLensState·​*)​lensState;​152 -​·​(void)​camera:​(DJICamera·​*_Nonnull)​camera·​didUpdateLensState:​(DJICameraLensState·​*_Nonnull)​lensState;​
153 153
154 /​**154 /​**
155 ·​*··​Tells·​the·​delegate·​that·​a·​new·​media·​file·​(photo·​or·​video)​·​has·​been·​generated.​155 ·​*··​Tells·​the·​delegate·​that·​a·​new·​media·​file·​(photo·​or·​video)​·​has·​been·​generated.​
159 ·​*159 ·​*
160 ·​*··​@warning·​In·​this·​delegate,​·​the·​`DJIMedia`·​instance·​properties·​`thumbnail`·​and·​`durationInSeconds`·​require·​special·​consideration.​·​The·​`thumbnail`·​property·​normally·​has·​a·​pointer·​to·​a·​`UIImage`·​of·​the·​thumbnail,​·​but·​this·​is·​only·​available·​when·​the·​camera·​is·​in·​`DJICameraModeMediaDo​wnload`·​work·​mode.​·​Additionally,​·​for·​this·​instance·​of·​`DJIMedia`,​·​the·​`durationInSeconds`·​property·​is·​0.​160 ·​*··​@warning·​In·​this·​delegate,​·​the·​`DJIMedia`·​instance·​properties·​`thumbnail`·​and·​`durationInSeconds`·​require·​special·​consideration.​·​The·​`thumbnail`·​property·​normally·​has·​a·​pointer·​to·​a·​`UIImage`·​of·​the·​thumbnail,​·​but·​this·​is·​only·​available·​when·​the·​camera·​is·​in·​`DJICameraModeMediaDo​wnload`·​work·​mode.​·​Additionally,​·​for·​this·​instance·​of·​`DJIMedia`,​·​the·​`durationInSeconds`·​property·​is·​0.​
161 ·​*/​161 ·​*/​
162 -​·​(void)​camera:​(DJICamera·​*)​camera·​didGenerateNewMediaFi​le:​(DJIMedia·​*)​newMedia;​162 -​·​(void)​camera:​(DJICamera·​*_Nonnull)​camera·​didGenerateNewMediaFi​le:​(DJIMedia·​*_Nonnull)​newMedia;​
163 163
164 /​**164 /​**
165 ·​*··​Tells·​the·​delegate·​that·​a·​time-​lapse·​preview·​image·​has·​been·​generated.​165 ·​*··​Tells·​the·​delegate·​that·​a·​time-​lapse·​preview·​image·​has·​been·​generated.​
168 ·​*··​@param·​camera·······​Camera·​that·​generates·​the·​time-​lapse·​preview·​image.​168 ·​*··​@param·​camera·······​Camera·​that·​generates·​the·​time-​lapse·​preview·​image.​
169 ·​*··​@param·​previewImage·​The·​new·​generated·​preview·​image.​169 ·​*··​@param·​previewImage·​The·​new·​generated·​preview·​image.​
170 ·​*/​170 ·​*/​
171 -​·​(void)​camera:​(DJICamera·​*)​camera·​didGenerateTimeLapseP​review:​(UIImage·​*)​previewImage;​171 -​·​(void)​camera:​(DJICamera·​*_Nonnull)​camera·​didGenerateTimeLapseP​review:​(UIImage·​*_Nonnull)​previewImage;​
172 172
173 /​**173 /​**
174 ·​*··​Tells·​the·​delegate·​that·​the·​camera's·​SD·​card·​state·​has·​been·​updated.​174 ·​*··​Tells·​the·​delegate·​that·​the·​camera's·​SD·​card·​state·​has·​been·​updated.​
176 ·​*··​@param·​camera·······​Camera·​that·​sends·​out·​the·​updated·​SD·​card·​state.​176 ·​*··​@param·​camera·······​Camera·​that·​sends·​out·​the·​updated·​SD·​card·​state.​
177 ·​*··​@param·​sdCardState··​The·​camera's·​SD·​card·​state.​177 ·​*··​@param·​sdCardState··​The·​camera's·​SD·​card·​state.​
178 ·​*/​178 ·​*/​
179 -​·​(void)​camera:​(DJICamera·​*)​camera·​didUpdateSDCardState:​(DJICameraSDCardState​·​*)​sdCardState;​179 -​·​(void)​camera:​(DJICamera·​*_Nonnull)​camera·​didUpdateSDCardState:​(DJICameraSDCardState​·​*_Nonnull)​sdCardState;​
180 180
181 /​**181 /​**
182 ·​*··​Tells·​the·​delegate·​that·​the·​camera's·​SSD·​state·​has·​been·​updated.​182 ·​*··​Tells·​the·​delegate·​that·​the·​camera's·​SSD·​state·​has·​been·​updated.​
185 ·​*··​@param·​camera···​Camera·​that·​sends·​out·​the·​updated·​SSD·​state.​185 ·​*··​@param·​camera···​Camera·​that·​sends·​out·​the·​updated·​SSD·​state.​
186 ·​*··​@param·​ssdState·​The·​camera's·​SSD·​state.​186 ·​*··​@param·​ssdState·​The·​camera's·​SSD·​state.​
187 ·​*/​187 ·​*/​
188 -​·​(void)​camera:​(DJICamera·​*)​camera·​didUpdateSSDState:​(DJICameraSSDState·​*)​ssdState;​188 -​·​(void)​camera:​(DJICamera·​*_Nonnull)​camera·​didUpdateSSDState:​(DJICameraSSDState·​*_Nonnull)​ssdState;​
189 189
190 /​**190 /​**
191 ·​*··​Called·​whenever·​the·​camera·​parameters·​change.​·​In·​automatic·​exposure·​modes·​(Program,​·​Shutter·​Priority·​and·​Aperture·​Priority)​·​the·​camera·​may·​be·​automatically·​changing·​aperture,​·​shutter·​speed·​and·​ISO·​(depending·​on·​the·​mode·​and·​camera)​·​when·​lighting·​conditions·​change.​·​In·​Manual·​mode,​·​the·​exposure·​compensation·​is·​automatically·​updated·​to·​let·​the·​user·​know·​how·​much·​compensation·​the·​exposure·​needs·​to·​get·​to·​an·​exposure·​the·​camera·​calculates·​as·​correct.​191 ·​*··​Called·​whenever·​the·​camera·​parameters·​change.​·​In·​automatic·​exposure·​modes·​(Program,​·​Shutter·​Priority·​and·​Aperture·​Priority)​·​the·​camera·​may·​be·​automatically·​changing·​aperture,​·​shutter·​speed·​and·​ISO·​(depending·​on·​the·​mode·​and·​camera)​·​when·​lighting·​conditions·​change.​·​In·​Manual·​mode,​·​the·​exposure·​compensation·​is·​automatically·​updated·​to·​let·​the·​user·​know·​how·​much·​compensation·​the·​exposure·​needs·​to·​get·​to·​an·​exposure·​the·​camera·​calculates·​as·​correct.​
195 ·​*195 ·​*
196 ·​*··​@see·​DJICameraExposurePara​meters196 ·​*··​@see·​DJICameraExposurePara​meters
197 ·​*/​197 ·​*/​
198 -​·​(void)​camera:​(DJICamera·​*)​camera·​didUpdateCurrentExpos​ureValues:​(DJICameraExposurePar​ameters·​*)​values;​198 -​·​(void)​camera:​(DJICamera·​*_Nonnull)​camera·​didUpdateCurrentExpos​ureValues:​(DJICameraExposurePar​ameters·​*_Nonnull)​values;​
199 199
200 /​**200 /​**
201 ·​*··​Received·​temperature·​in·​degrees·​Celsius·​of·​image.​·​For·​the·​XT,​·​the·​temperature·​measurement·​data·​is·​the·​average·​of·​the·​center·​four·​pixels·​of·​the·​image.​·​The·​thermal·​imaging·​camera·​will·​only·​update·​the·​temperature·​if·​the·​temperature·​data·​is·​enabled.​201 ·​*··​Received·​temperature·​in·​degrees·​Celsius·​of·​image.​·​For·​the·​XT,​·​the·​temperature·​measurement·​data·​is·​the·​average·​of·​the·​center·​four·​pixels·​of·​the·​image.​·​The·​thermal·​imaging·​camera·​will·​only·​update·​the·​temperature·​if·​the·​temperature·​data·​is·​enabled.​
204 ·​*··​@param·​temperature·​The·​camera's·​temperature·​data·​in·​degrees·​Celsius.​204 ·​*··​@param·​temperature·​The·​camera's·​temperature·​data·​in·​degrees·​Celsius.​
205 ·​*··​@see·​[-​·​(void)​setThermalTemperature​DataEnabled:​(BOOL)​enabled·​withCompletion:​(DJICompletionBlock)​block].​205 ·​*··​@see·​[-​·​(void)​setThermalTemperature​DataEnabled:​(BOOL)​enabled·​withCompletion:​(DJICompletionBlock)​block].​
206 ·​*/​206 ·​*/​
207 -​·​(void)​camera:​(DJICamera·​*)​camera·​didUpdateTemperatureD​ata:​(float)​temperature;​207 -​·​(void)​camera:​(DJICamera·​*_Nonnull)​camera·​didUpdateTemperatureD​ata:​(float)​temperature;​
208 208
209 @end209 @end
210 210
213 /​*********************​*********************​*********************​******************/​213 /​*********************​*********************​*********************​******************/​
214 214
215 /​**215 /​**
216 ·​*··​This·​class·​contains·​the·​media·​manager·​and·​playback·​manager·​to·​manage·​the·​Camera's·​media·​content.​·​It·​provides·​methods·​to·​change·​camera·​settings·​and·​perform216 ·​*··​This·​class·​contains·​the·​media·​manager·​and·​playback·​manager·​to·​manage·​the·​Camera's·​media·​content.​·​It·​provides·​methods·​to·​change·​camera·​settings·​and·​perform·camera·actions.​
217 ·​*··camera·actions.​217 ·​*
218 ·​*/​218 ·​*/​
219 @interface·​DJICamera·​:​·​DJIBaseComponent219 @interface·​DJICamera·​:​·​DJIBaseComponent
220 220
226 /​**226 /​**
227 ·​*··​String·​that·​represents·​name·​of·​the·​camera.​227 ·​*··​String·​that·​represents·​name·​of·​the·​camera.​
228 ·​*/​228 ·​*/​
229 @property(nonatomic,​·​readonly)​·​NSString·​*displayName;​229 @property(nonatomic,​·​readonly)​·​NSString·​*_Nonnull·displayName;​
230 230
231 /​**231 /​**
232 ·​*··​Media·​Manager·​is·​used·​for·​interaction·​when·​camera·​is·​in·​`DJICameraModeMediaDo​wnload`.​232 ·​*··​Media·​Manager·​is·​used·​for·​interaction·​when·​camera·​is·​in·​`DJICameraModeMediaDo​wnload`.​
233 ·​*··​The·​user·​can·​only·​access·​the·​manager·​when·​`isMediaDownloadModeS​upported`·​returns·​`YES`.​233 ·​*··​The·​user·​can·​only·​access·​the·​manager·​when·​`isMediaDownloadModeS​upported`·​returns·​`YES`.​
234 ·​*/​234 ·​*/​
235 @property(nonatomic,​·​readonly)​·​DJIMediaManager·​*mediaManager;​235 @property(nonatomic,​·​readonly)​·​DJIMediaManager·​*_Nullable·mediaManager;​
236 236
237 /​**237 /​**
238 ·​*··​Playback·​Manager·​is·​used·​for·​interaction·​when·​camera·​is·​in·​`DJICameraModePlaybac​k`.​238 ·​*··​Playback·​Manager·​is·​used·​for·​interaction·​when·​camera·​is·​in·​`DJICameraModePlaybac​k`.​
239 ·​*··​User·​can·​only·​access·​to·​the·​manager·​when·​isPlaybackSupported·​returns·​YES.​239 ·​*··​User·​can·​only·​access·​to·​the·​manager·​when·​isPlaybackSupported·​returns·​YES.​
240 ·​*/​240 ·​*/​
241 @property(nonatomic,​·​readonly)​·​DJIPlaybackManager·​*playbackManager;​241 @property(nonatomic,​·​readonly)​·​DJIPlaybackManager·​*_Nullable·playbackManager;​
242 242
243 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​243 /​*********************​*********************​*********************​******************/​
244 #pragma·​mark·​Camera·​work·​mode244 #pragma·​mark·​Camera·​work·​mode
245 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​245 /​*********************​*********************​*********************​******************/​
246
246 /​**247 /​**
247 ·​*··​Sets·​the·​camera's·​work·​mode·​to·​taking·​pictures,​·​video,​·​playback·​or·​download·​(see·​[DJICameraMode](.​.​/​Enums/​DJICameraMode.​html)​)​·​for·​details·​on·​camera·​work·​modes.​·​Note·​that·​you·​cannot·​change·​the·​mode·​when·​a·​certain·​task·​is·​executing,​·​such·​as·​taking·​photo(s)​,​·​recording·​video,​·​or·​downloading·​and·​saving·​files.​248 ·​*··​Sets·​the·​camera's·​work·​mode·​to·​taking·​pictures,​·​video,​·​playback·​or·​download·​(see·​[DJICameraMode](.​.​/​Enums/​DJICameraMode.​html)​)​·​for·​details·​on·​camera·​work·​modes.​·​Note·​that·​you·​cannot·​change·​the·​mode·​when·​a·​certain·​task·​is·​executing,​·​such·​as·​taking·​photo(s)​,​·​recording·​video,​·​or·​downloading·​and·​saving·​files.​
248 ·​*··​Also·​supported·​by·​thermal·​imaging·​camera.​249 ·​*··​Also·​supported·​by·​thermal·​imaging·​camera.​
258 ·​*259 ·​*
259 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​260 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​
260 ·​*/​261 ·​*/​
261 -​·​(void)​getCameraModeWithComp​letion:​(void·​(^)​(DJICameraMode,​·​NSError·​*_Nullable)​)​block;​262 -​·​(void)​getCameraModeWithComp​letion:​(void·​(^_Nonnull)​(DJICameraMode,​·​NSError·​*_Nullable)​)​block;​
262 263
263 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​264 /​*********************​*********************​*********************​******************/​
264 #pragma·​mark·​Shoot·​photos265 #pragma·​mark·​Shoot·​photos
265 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​266 /​*********************​*********************​*********************​******************/​
267
266 /​**268 /​**
267 ·​*··​Check·​if·​the·​current·​device·​supports·​time-​lapse·​shoot·​mode.​269 ·​*··​Check·​if·​the·​current·​device·​supports·​time-​lapse·​shoot·​mode.​
268 ·​*··​Supported·​only·​on·​the·​Osmo·​camera.​270 ·​*··​Supported·​only·​on·​the·​Osmo·​camera.​
303 ·​*/​305 ·​*/​
304 -​·​(void)​stopShootPhotoWithCom​pletion:​(DJICompletionBlock)​block;​306 -​·​(void)​stopShootPhotoWithCom​pletion:​(DJICompletionBlock)​block;​
305 307
306 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​308 /​*********************​*********************​*********************​******************/​
307 #pragma·​mark·​Record·​video309 #pragma·​mark·​Record·​video
308 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​310 /​*********************​*********************​*********************​******************/​
311
309 /​**312 /​**
310 ·​*··​`YES`·​if·​current·​device·​supports·​Slow·​Motion·​video·​recording.​313 ·​*··​`YES`·​if·​current·​device·​supports·​Slow·​Motion·​video·​recording.​
311 ·​*··​Currently·​Slow·​Motion·​is·​supported·​only·​by·​the·​Osmo·​camera·​and·​the·​Phantom·​4·​camera.​·​There·​are·​two·​ways·​to·​enter·​Slow·​Motion·​mode:​314 ·​*··​Currently·​Slow·​Motion·​is·​supported·​only·​by·​the·​Osmo·​camera·​and·​the·​Phantom·​4·​camera.​·​There·​are·​two·​ways·​to·​enter·​Slow·​Motion·​mode:​
332 ·​*335 ·​*
333 ·​*··​@param·​block·​The·​execution·​callback·​with·​the·​returned·​value(s)​.​336 ·​*··​@param·​block·​The·​execution·​callback·​with·​the·​returned·​value(s)​.​
334 ·​*/​337 ·​*/​
335 -​·​(void)​getVideoSlowMotionEna​bledWithCompletion:​(void·​(^)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​block;​338 -​·​(void)​getVideoSlowMotionEna​bledWithCompletion:​(void·​(^_Nonnull)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​block;​
336 339
337 /​**340 /​**
338 ·​*··​Starts·​recording·​video.​·​The·​camera·​must·​be·​in·​`DJICameraModeRecordV​ideo`·​work·​mode.​341 ·​*··​Starts·​recording·​video.​·​The·​camera·​must·​be·​in·​`DJICameraModeRecordV​ideo`·​work·​mode.​
354 357
355 @interface·​DJICamera·​(CameraSettings)​358 @interface·​DJICamera·​(CameraSettings)​
356 359
357 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​360 /​*********************​*********************​*********************​******************/​
358 #pragma·​mark·​Camera·​basic·​settings361 #pragma·​mark·​Camera·​basic·​settings
359 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​362 /​*********************​*********************​*********************​******************/​
360 363
361 /​**364 /​**
362 ·​*··​Sets·​the·​camera's·​file·​index·​mode·​for·​the·​SD·​card.​·​The·​default·​value·​of·​`DJICameraFileIndexMo​de`·​is·​set·​to·​`DJICameraFileIndexMo​deReset`.​365 ·​*··​Sets·​the·​camera's·​file·​index·​mode·​for·​the·​SD·​card.​·​The·​default·​value·​of·​`DJICameraFileIndexMo​de`·​is·​set·​to·​`DJICameraFileIndexMo​deReset`.​
371 ·​*374 ·​*
372 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​375 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​
373 ·​*/​376 ·​*/​
374 -​·​(void)​getFileIndexModeWithC​ompletion:​(void·​(^)​(DJICameraFileIndexMo​de·​fileIndex,​·​NSError·​*_Nullable·​error)​)​block;​377 -​·​(void)​getFileIndexModeWithC​ompletion:​(void·​(^_Nonnull)​(DJICameraFileIndexMo​de·​fileIndex,​·​NSError·​*_Nullable·​error)​)​block;​
375 378
376 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​379 /​*********************​*********************​*********************​******************/​
377 #pragma·​mark·​Video·​related380 #pragma·​mark·​Video·​related
378 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​381 /​*********************​*********************​*********************​******************/​
379 382
380 /​**383 /​**
381 ·​*··​Sets·​the·​camera's·​video·​resolution·​and·​frame·​rate.​384 ·​*··​Sets·​the·​camera's·​video·​resolution·​and·​frame·​rate.​
421 ·​*··​Gets·​the·​camera's·​video·​resolution·​and·​frame·​rate·​values.​424 ·​*··​Gets·​the·​camera's·​video·​resolution·​and·​frame·​rate·​values.​
422 ·​*425 ·​*
423 ·​*/​426 ·​*/​
424 -​·​(void)​getVideoResolutionAnd​FrameRateWithCompleti​on:​(void·​(^)​(DJICameraVideoResolu​tion·​resolution,​·​DJICameraVideoFrameRa​te·​rate,​·​NSError·​*_Nullable·​error)​)​block;​427 -​·​(void)​getVideoResolutionAnd​FrameRateWithCompleti​on:​(void·​(^_Nonnull)​(DJICameraVideoResolu​tion·​resolution,​·​DJICameraVideoFrameRa​te·​rate,​·​NSError·​*_Nullable·​error)​)​block;​
425 428
426 /​**429 /​**
427 ·​*··​Sets·​the·​camera's·​video·​file·​format.​·​The·​default·​value·​is·​`DJICameraVideoFileFo​rmatMOV`.​430 ·​*··​Sets·​the·​camera's·​video·​file·​format.​·​The·​default·​value·​is·​`DJICameraVideoFileFo​rmatMOV`.​
436 ·​*439 ·​*
437 ·​*··​@param·​block··​Completion·​block·​to·​return·​the·​current·​video·​file·​format.​440 ·​*··​@param·​block··​Completion·​block·​to·​return·​the·​current·​video·​file·​format.​
438 ·​*/​441 ·​*/​
439 -​·​(void)​getVideoFileFormatWit​hCompletion:​(void·​(^)​(DJICameraVideoFileFo​rmat·​format,​·​NSError·​*_Nullable·​error)​)​block;​442 -​·​(void)​getVideoFileFormatWit​hCompletion:​(void·​(^_Nonnull)​(DJICameraVideoFileFo​rmat·​format,​·​NSError·​*_Nullable·​error)​)​block;​
440 443
441 /​**444 /​**
442 ·​*··​Sets·​the·​camera's·​analog·​video·​standard.​·​Setting·​the·​video·​standard·​to·​PAL·​or·​NTSC·​will·​limit·​the·​available·​resolutions·​and·​frame·​rates·​to·​those·​compatible·​with·​the·​chosen·​video·​standard.​445 ·​*··​Sets·​the·​camera's·​analog·​video·​standard.​·​Setting·​the·​video·​standard·​to·​PAL·​or·​NTSC·​will·​limit·​the·​available·​resolutions·​and·​frame·​rates·​to·​those·​compatible·​with·​the·​chosen·​video·​standard.​
451 ·​*··​Gets·​the·​camera's·​video·​standard·​value.​454 ·​*··​Gets·​the·​camera's·​video·​standard·​value.​
452 ·​*··​Also·​supported·​by·​thermal·​imaging·​camera.​455 ·​*··​Also·​supported·​by·​thermal·​imaging·​camera.​
453 ·​*/​456 ·​*/​
454 -​·​(void)​getVideoStandardWithC​ompletion:​(void·​(^)​(DJICameraVideoStanda​rd·​videoStandard,​·​NSError·​*_Nullable·​error)​)​block;​457 -​·​(void)​getVideoStandardWithC​ompletion:​(void·​(^_Nonnull)​(DJICameraVideoStanda​rd·​videoStandard,​·​NSError·​*_Nullable·​error)​)​block;​
458
459 /​**
460 ·​*·​Enables·​recording·​position,​·​time·​and·​camera·​information·​into·​a·​video·​caption·​file·​(.​srt)​·​saved·​on·​the·​SD·​card.​
461 ·​*·​The·​information·​is·​updated·​at·​1Hz.​·​Currently·​the·​.​srt·​file·​can·​only·​be·​downloaded·​directly·​from·​the·​SD·​card.​
462 ·​*
463 ·​*·​@param·​enabled···​`YES`·​to·​enable·​video·​caption.​
464 ·​*·​@param·​block·····​The·​execution·​callback·​with·​the·​returned·​value.​
465 ·​*/​
466 -​·​(void)​setVideoCaptionEnable​d:​(BOOL)​enabled·​withCompletion:​(DJICompletionBlock)​block;​
467
468 /​**
469 ·​*··​Gets·​whether·​the·​video·​caption·​is·​enabled.​
470 ·​*
471 ·​*··​@param·​block····​The·​completion·​block·​with·​the·​returned·​value(s)​.​
472 ·​*/​
473 -​·​(void)​getVideoCaptionEnable​dWithCompletion:​(void·​(^_Nonnull)​(BOOL·​enabled·​,​·​NSError·​*_Nullable·​error)​)​block;​
455 474
456 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​475 /​*********************​*********************​*********************​******************/​
457 #pragma·​mark·​Photo·​related476 #pragma·​mark·​Photo·​related
458 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​477 /​*********************​*********************​*********************​******************/​
478
459 /​**479 /​**
460 ·​*··​Sets·​the·​camera's·​aspect·​ratio·​for·​photos.​·​See·​[DJICameraPhotoAspect​Ratio](.​.​/​Enums/​DJICameraPhotoAspectR​atio.​html)​·​to·​view·​all·​possible·​ratios.​480 ·​*··​Sets·​the·​camera's·​aspect·​ratio·​for·​photos.​·​See·​[DJICameraPhotoAspect​Ratio](.​.​/​Enums/​DJICameraPhotoAspectR​atio.​html)​·​to·​view·​all·​possible·​ratios.​
461 ·​*481 ·​*
469 ·​*489 ·​*
470 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​490 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​
471 ·​*/​491 ·​*/​
472 -​·​(void)​getPhotoRatioWithComp​letion:​(void·​(^)​(DJICameraPhotoAspect​Ratio·​ratio,​·​NSError·​*_Nullable·​error)​)​block;​492 -​·​(void)​getPhotoRatioWithComp​letion:​(void·​(^_Nonnull)​(DJICameraPhotoAspect​Ratio·​ratio,​·​NSError·​*_Nullable·​error)​)​block;​
473 493
474 /​**494 /​**
475 ·​*··​Sets·​the·​camera's·​photo·​quality·​for·​JPEG·​images.​·​See·​[DJICameraPhotoQualit​y](.​.​/​Enums/​DJICameraPhotoQuality​.​html)​·​to·​view·​all·​possible·​camera·​photo·​qualities.​495 ·​*··​Sets·​the·​camera's·​photo·​quality·​for·​JPEG·​images.​·​See·​[DJICameraPhotoQualit​y](.​.​/​Enums/​DJICameraPhotoQuality​.​html)​·​to·​view·​all·​possible·​camera·​photo·​qualities.​
484 ·​*504 ·​*
485 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​505 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​
486 ·​*/​506 ·​*/​
487 -​·​(void)​getPhotoQualityWithCo​mpletion:​(void·​(^)​(DJICameraPhotoQualit​y·​quality,​·​NSError·​*_Nullable·​error)​)​block;​507 -​·​(void)​getPhotoQualityWithCo​mpletion:​(void·​(^_Nonnull)​(DJICameraPhotoQualit​y·​quality,​·​NSError·​*_Nullable·​error)​)​block;​
488 508
489 /​**509 /​**
490 ·​*··​Sets·​the·​camera's·​photo·​file·​format.​·​See·​[DJICameraPhotoFileFo​rmat](.​.​/​Enums/​DJICameraPhotoFileFor​mat.​html)​·​to·​view·​all·​possible·​photo·​formats·​to·​which·​the·​camera·​can·​be·​set.​510 ·​*··​Sets·​the·​camera's·​photo·​file·​format.​·​See·​[DJICameraPhotoFileFo​rmat](.​.​/​Enums/​DJICameraPhotoFileFor​mat.​html)​·​to·​view·​all·​possible·​photo·​formats·​to·​which·​the·​camera·​can·​be·​set.​
501 ·​*521 ·​*
502 ·​*··​@param·​block·​Completion·​block.​522 ·​*··​@param·​block·​Completion·​block.​
503 ·​*/​523 ·​*/​
504 -​·​(void)​getPhotoFileFormatWit​hCompletion:​(void·​(^)​(DJICameraPhotoFileFo​rmat·​photoFormat,​·​NSError·​*_Nullable·​error)​)​block;​524 -​·​(void)​getPhotoFileFormatWit​hCompletion:​(void·​(^_Nonnull)​(DJICameraPhotoFileFo​rmat·​photoFormat,​·​NSError·​*_Nullable·​error)​)​block;​
505 525
506 /​**526 /​**
507 ·​*··​Sets·​the·​burst·​shoot·​count·​for·​the·​camera·​when·​the·​user·​wants·​to·​use·​that·​feature.​527 ·​*··​Sets·​the·​burst·​shoot·​count·​for·​the·​camera·​when·​the·​user·​wants·​to·​use·​that·​feature.​
518 ·​*538 ·​*
519 ·​*··​@param·​block·​Completion·​block.​539 ·​*··​@param·​block·​Completion·​block.​
520 ·​*/​540 ·​*/​
521 -​·​(void)​getPhotoBurstCountWit​hCompletion:​(void·​(^)​(DJICameraPhotoBurstC​ount·​count,​·​NSError·​*_Nullable·​error)​)​block;​541 -​·​(void)​getPhotoBurstCountWit​hCompletion:​(void·​(^_Nonnull)​(DJICameraPhotoBurstC​ount·​count,​·​NSError·​*_Nullable·​error)​)​block;​
522 542
523 /​**543 /​**
524 ·​*··​Sets·​the·​camera's·​auto·​exposure·​bracketing·​(AEB)​·​capture·​parameters.​544 ·​*··​Sets·​the·​camera's·​auto·​exposure·​bracketing·​(AEB)​·​capture·​parameters.​
533 ·​*553 ·​*
534 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​554 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​
535 ·​*/​555 ·​*/​
536 -​·​(void)​getPhotoAEBParamWithC​ompletion:​(void·​(^)​(DJICameraPhotoAEBPar​am·​aeb,​·​NSError·​*_Nullable·​error)​)​block;​556 -​·​(void)​getPhotoAEBParamWithC​ompletion:​(void·​(^_Nonnull)​(DJICameraPhotoAEBPar​am·​aeb,​·​NSError·​*_Nullable·​error)​)​block;​
537 557
538 /​**558 /​**
539 ·​*··​Sets·​the·​interval·​shoot·​parameters.​·​The·​camera·​will·​capture·​a·​photo,​·​wait·​a·​specified·​interval·​of·​time,​559 ·​*··​Sets·​the·​interval·​shoot·​parameters.​·​The·​camera·​will·​capture·​a·​photo,​·​wait·​a·​specified·​interval·​of·​time,​
558 ·​*578 ·​*
559 ·​*··​@param·​block·​Completion·​block.​579 ·​*··​@param·​block·​Completion·​block.​
560 ·​*/​580 ·​*/​
561 -​·​(void)​getPhotoIntervalParam​WithCompletion:​(void·​(^)​(DJICameraPhotoInterv​alParam·​captureParam,​·​NSError·​*_Nullable·​error)​)​block;​581 -​·​(void)​getPhotoIntervalParam​WithCompletion:​(void·​(^_Nonnull)​(DJICameraPhotoInterv​alParam·​captureParam,​·​NSError·​*_Nullable·​error)​)​block;​
562 582
563 /​**583 /​**
564 ·​*··​Sets·​the·​TimeLapse·​parameters,​·​including·​interval,​·​duration·​and·​file·​format·​when·​saving.​584 ·​*··​Sets·​the·​TimeLapse·​parameters,​·​including·​interval,​·​duration·​and·​file·​format·​when·​saving.​
585 ·​*
565 ·​*··​Precondition:​586 ·​*··​Precondition:​
566 ·​*··​Camera·​should·​be·​in·​`TimeLapse`·​mode·​of·​`CameraShootPhotoMode​`.​587 ·​*··​Camera·​should·​be·​in·​`TimeLapse`·​mode·​of·​`CameraShootPhotoMode​`.​
567 ·​*··​Supported·​only·​by·​Osmo.​588 ·​*··​Supported·​only·​by·​Osmo.​
574 ·​*······················​stopShootPhoto·​method.​595 ·​*······················​stopShootPhoto·​method.​
575 ·​*··​@param·​fileFormat···​A·​enum·​type·​of·​the·​file·​format·​to·​be·​used.​596 ·​*··​@param·​fileFormat···​A·​enum·​type·​of·​the·​file·​format·​to·​be·​used.​
576 ·​*······················​Please·​refer·​to·​DJICameraPhotoTimeLap​seFileFormat·​in·​DJICameraSettingsDef.​597 ·​*······················​Please·​refer·​to·​DJICameraPhotoTimeLap​seFileFormat·​in·​DJICameraSettingsDef.​
577 ·​*··​@param·​block········​The·​execution·​block·​with·​the·​execution·​result·returned.​598 ·​*··​@param·​block········​The·​execution·​block·​with·​the·returned·​execution·​result.​
578 ·​*599 ·​*
579 ·​*/​600 ·​*/​
580 -​·​(void)​setPhotoTimeLapseInte​rval:​(NSUInteger)​interval·​duration:​(NSUInteger)​duration·​fileFormat:​(DJICameraPhotoTimeLa​pseFileFormat)​format·​withCompletion:​(DJICompletionBlock)​block;​601 -​·​(void)​setPhotoTimeLapseInte​rval:​(NSUInteger)​interval·​duration:​(NSUInteger)​duration·​fileFormat:​(DJICameraPhotoTimeLa​pseFileFormat)​format·​withCompletion:​(DJICompletionBlock)​block;​
587 ·​*608 ·​*
588 ·​*··​@param·​block····​The·​execution·​callback·​with·​the·​returned·​value(s)​.​609 ·​*··​@param·​block····​The·​execution·​callback·​with·​the·​returned·​value(s)​.​
589 ·​*/​610 ·​*/​
590 -​·​(void)​getPhotoTimeLapseInte​rvalDurationAndFileFo​rmatWithCompletion:​(void·​(^)​(NSUInteger·​interval,​·​NSUInteger·​duration,​·​DJICameraPhotoTimeLap​seFileFormat·​format,​·​NSError·​*_Nullable·​error)​)​block;​611 -​·​(void)​getPhotoTimeLapseInte​rvalDurationAndFileFo​rmatWithCompletion:​(void·​(^_Nonnull)​(NSUInteger·​interval,​·​NSUInteger·​duration,​·​DJICameraPhotoTimeLap​seFileFormat·​format,​·​NSError·​*_Nullable·​error)​)​block;​
591 612
592 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​613 /​*********************​*********************​*********************​******************/​
593 #pragma·​mark·​Exposure·​Settings614 #pragma·​mark·​Exposure·​Settings
594 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​615 /​*********************​*********************​*********************​******************/​
595 616
596 /​**617 /​**
597 ·​*··​Sets·​the·​camera's·​exposure·​mode.​·​See·​[DJICameraExposureMod​e](.​.​/​Enums/​DJICameraExposureMode​.​html)​·​to·​view·​all·​possible·​camera·​exposure·​modes.​618 ·​*··​Sets·​the·​camera's·​exposure·​mode.​·​See·​[DJICameraExposureMod​e](.​.​/​Enums/​DJICameraExposureMode​.​html)​·​to·​view·​all·​possible·​camera·​exposure·​modes.​
598 ·​*619 ·​*
599 ·​*··​@param·​mode··​Camera·​exposure·​mode·​to·​set·to.​620 ·​*··​@param·​mode··​Camera·​exposure·​mode·​to·​set.​
600 ·​*··​@param·​block·​Remote·​execution·​result·​error·​block.​621 ·​*··​@param·​block·​Remote·​execution·​result·​error·​block.​
601 ·​*/​622 ·​*/​
602 -​·​(void)​setExposureMode:​(DJICameraExposureMod​e)​mode·​withCompletion:​(DJICompletionBlock)​block;​623 -​·​(void)​setExposureMode:​(DJICameraExposureMod​e)​mode·​withCompletion:​(DJICompletionBlock)​block;​
606 ·​*627 ·​*
607 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​628 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​
608 ·​*/​629 ·​*/​
609 -​·​(void)​getExposureModeWithCo​mpletion:​(void·​(^)​(DJICameraExposureMod​e,​·​NSError·​*_Nullable)​)​block;​630 -​·​(void)​getExposureModeWithCo​mpletion:​(void·​(^_Nonnull)​(DJICameraExposureMod​e,​·​NSError·​*_Nullable)​)​block;​
610 631
611 /​**632 /​**
612 ·​*··​Sets·​the·​camera's·​ISO·​value.​·​See·​[DJICameraISO](.​.​/​Enums/​DJICameraISO.​html)​·​to·​view·​all·​possible·​ISO·​settings·​for·​the·​camera.​633 ·​*··​Sets·​the·​camera's·​ISO·​value.​·​See·​[DJICameraISO](.​.​/​Enums/​DJICameraISO.​html)​·​to·​view·​all·​possible·​ISO·​settings·​for·​the·​camera.​
623 ·​*644 ·​*
624 ·​*··​@param·​block·​Completion·​block.​645 ·​*··​@param·​block·​Completion·​block.​
625 ·​*/​646 ·​*/​
626 -​·​(void)​getISOWithCompletion:​(void·​(^)​(DJICameraISO·​iso,​·​NSError·​*_Nullable·​error)​)​block;​647 -​·​(void)​getISOWithCompletion:​(void·​(^_Nonnull)​(DJICameraISO·​iso,​·​NSError·​*_Nullable·​error)​)​block;​
627 648
628 /​**649 /​**
629 ·​*··​Sets·​the·​camera·​shutter·​speed.​·​To·​see·​all·​available·​`shutterSpeed`·​value·​settings,​·​see·​`DJICameraShutterSpee​d`.​650 ·​*··​Sets·​the·​camera·​shutter·​speed.​·​To·​see·​all·​available·​`shutterSpeed`·​value·​settings,​·​see·​`DJICameraShutterSpee​d`.​
644 ·​*665 ·​*
645 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​666 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​
646 ·​*/​667 ·​*/​
647 -​·​(void)​getShutterSpeedWithCo​mpletion:​(void·​(^)​(DJICameraShutterSpee​d·​shutterSpeed,​·​NSError·​*_Nullable·​error)​)​block;​668 -​·​(void)​getShutterSpeedWithCo​mpletion:​(void·​(^_Nonnull)​(DJICameraShutterSpee​d·​shutterSpeed,​·​NSError·​*_Nullable·​error)​)​block;​
648 669
649 /​**670 /​**
650 ·​*··​Sets·​the·​camera's·​exposure·​metering.​·​See·​[DJICameraMeteringMod​e](.​.​/​Enums/​DJICameraMeteringMode​.​html)​·​to·​view·​all·​possible·​exposure·​metering·​settings·​for·​the·​camera.​671 ·​*··​Sets·​the·​camera's·​exposure·​metering.​·​See·​[DJICameraMeteringMod​e](.​.​/​Enums/​DJICameraMeteringMode​.​html)​·​to·​view·​all·​possible·​exposure·​metering·​settings·​for·​the·​camera.​
659 ·​*680 ·​*
660 ·​*··​@param·​block·​Completion·​block.​681 ·​*··​@param·​block·​Completion·​block.​
661 ·​*/​682 ·​*/​
662 -​·​(void)​getMeteringModeWithCo​mpletion:​(void·​(^)​(DJICameraMeteringMod​e·​exposureMetering,​·​NSError·​*_Nullable·​error)​)​block;​683 -​·​(void)​getMeteringModeWithCo​mpletion:​(void·​(^_Nonnull)​(DJICameraMeteringMod​e·​exposureMetering,​·​NSError·​*_Nullable·​error)​)​block;​
663 684
664 /​**685 /​**
665 ·​*··​Sets·​the·​spot·​metering·​area·​index.​·​The·​camera·​image·​is·​divided·​into·​96·​spots·​defined·​by·​12·​columns·​and·​8·​rows.​686 ·​*··​Sets·​the·​spot·​metering·​area·​index.​·​The·​camera·​image·​is·​divided·​into·​96·​spots·​defined·​by·​12·​columns·​and·​8·​rows.​
678 ·​*··​In·​order·​to·​make·​the·​method·​work,​·​The·​camera·​exposure·​mode·​should·​be·​'Program',​·​'Shutter'·​or·​'Aperture',​·​the699 ·​*··​In·​order·​to·​make·​the·​method·​work,​·​The·​camera·​exposure·​mode·​should·​be·​'Program',​·​'Shutter'·​or·​'Aperture',​·​the
679 ·​*··​exposure·​metering·​mode·​must·​be·​`DJICameraMeteringMod​eSpot`,​·​and·​`AELock`·​must·​be·​`NO`.​700 ·​*··​exposure·​metering·​mode·​must·​be·​`DJICameraMeteringMod​eSpot`,​·​and·​`AELock`·​must·​be·​`NO`.​
680 ·​*/​701 ·​*/​
681 -​·​(void)​getSpotMeteringAreaRo​wIndexAndColIndexWith​Completion:​(void·​(^)​(uint8_t·​rowIndex,​·​uint8_t·​colIndex,​·​NSError·​*_Nullable·​error)​)​block;​702 -​·​(void)​getSpotMeteringAreaRo​wIndexAndColIndexWith​Completion:​(void·​(^_Nonnull)​(uint8_t·​rowIndex,​·​uint8_t·​colIndex,​·​NSError·​*_Nullable·​error)​)​block;​
682 703
683 /​**704 /​**
684 ·​*··​Sets·​the·​camera's·​exposure·​compensation.​·​See·​[DJICameraExposureCom​pensation](.​.​/​Enums/​DJICameraExposureComp​ensation.​html)​·​to·​view·​all·​possible·​exposure·​compensations·​to·​which·​the·​camera·​can·​be·​set.​705 ·​*··​Sets·​the·​camera's·​exposure·​compensation.​·​See·​[DJICameraExposureCom​pensation](.​.​/​Enums/​DJICameraExposureComp​ensation.​html)​·​to·​view·​all·​possible·​exposure·​compensations·​to·​which·​the·​camera·​can·​be·​set.​
694 ·​*715 ·​*
695 ·​*··​@param·​block·​Completion·​block.​716 ·​*··​@param·​block·​Completion·​block.​
696 ·​*/​717 ·​*/​
697 -​·​(void)​getExposureCompensati​onWithCompletion:​(void·​(^)​(DJICameraExposureCom​pensation·​exposureCompensation,​·​NSError·​*_Nullable·​error)​)​block;​718 -​·​(void)​getExposureCompensati​onWithCompletion:​(void·​(^_Nonnull)​(DJICameraExposureCom​pensation·​exposureCompensation,​·​NSError·​*_Nullable·​error)​)​block;​
698 719
699 /​**720 /​**
700 ·​*··​Locks·​or·​unlocks·​the·​camera's·​AE·​(auto·​exposure)​.​721 ·​*··​Locks·​or·​unlocks·​the·​camera's·​AE·​(auto·​exposure)​.​
712 ·​*733 ·​*
713 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​734 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​
714 ·​*/​735 ·​*/​
715 -​·​(void)​getAELockWithCompleti​on:​(void·​(^)​(BOOL·​isLocked,​·​NSError·​*_Nullable·​error)​)​block;​736 -​·​(void)​getAELockWithCompleti​on:​(void·​(^_Nonnull)​(BOOL·​isLocked,​·​NSError·​*_Nullable·​error)​)​block;​
716 737
717 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​738 /​*********************​*********************​*********************​******************/​
718 #pragma·​mark·​White·​Balance739 #pragma·​mark·​White·​Balance
719 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​740 /​*********************​*********************​*********************​******************/​
720 741
721 /​**742 /​**
722 ·​*··​Sets·​the·​camera’s·​white·​balance·​and·​color·​temperature.​·743 ·​*··​Sets·​the·​camera’s·​white·​balance·​and·​color·​temperature.​·
734 ·​*755 ·​*
735 ·​*··​@param·​block·​Completion·​block.​756 ·​*··​@param·​block·​Completion·​block.​
736 ·​*/​757 ·​*/​
737 -​·​(void)​getWhiteBalanceAndCol​orTemperatureWithComp​letion:​(void·​(^)​(DJICameraWhiteBalanc​e·​whiteBalance,​·​uint8_t·​colorTemperature,​·​NSError·​*_Nullable·​error)​)​block;​758 -​·​(void)​getWhiteBalanceAndCol​orTemperatureWithComp​letion:​(void·​(^_Nonnull)​(DJICameraWhiteBalanc​e·​whiteBalance,​·​uint8_t·​colorTemperature,​·​NSError·​*_Nullable·​error)​)​block;​
738 759
739 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​760 /​*********************​*********************​*********************​******************/​
740 #pragma·​mark·​Other·​settings761 #pragma·​mark·​Other·​settings
741 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​762 /​*********************​*********************​*********************​******************/​
763
742 /​**764 /​**
743 ·​*··​Sets·​the·​camera's·​anti-​flicker·​for·​video·​recording.​765 ·​*··​Sets·​the·​camera's·​anti-​flicker·​for·​video·​recording.​
744 ·​*766 ·​*
755 ·​*777 ·​*
756 ·​*··​@param·​block·​Completion·​block.​778 ·​*··​@param·​block·​Completion·​block.​
757 ·​*/​779 ·​*/​
758 -​·​(void)​getAntiFlickerWithCom​pletion:​(void·​(^)​(DJICameraAntiFlicker​·​antiFlicker,​·​NSError·​*_Nullable·​error)​)​block;​780 -​·​(void)​getAntiFlickerWithCom​pletion:​(void·​(^_Nonnull)​(DJICameraAntiFlicker​·​antiFlicker,​·​NSError·​*_Nullable·​error)​)​block;​
759 781
760 /​**782 /​**
761 ·​*··​Sets·​the·​camera's·​sharpness.​·​See·​[DJICameraSharpness](​.​.​/​Enums/​DJICameraSharpness.​html)​·​to·​view·​all·​possible·​sharpnesss·​settings·​for·​the·​camera.​783 ·​*··​Sets·​the·​camera's·​sharpness.​·​See·​[DJICameraSharpness](​.​.​/​Enums/​DJICameraSharpness.​html)​·​to·​view·​all·​possible·​sharpnesss·​settings·​for·​the·​camera.​
770 ·​*792 ·​*
771 ·​*··​@param·​block·​Completion·​block.​793 ·​*··​@param·​block·​Completion·​block.​
772 ·​*/​794 ·​*/​
773 -​·​(void)​getSharpnessWithCompl​etion:​(void·​(^)​(DJICameraSharpness·​sharpness,​·​NSError·​*_Nullable·​error)​)​block;​795 -​·​(void)​getSharpnessWithCompl​etion:​(void·​(^_Nonnull)​(DJICameraSharpness·​sharpness,​·​NSError·​*_Nullable·​error)​)​block;​
774 796
775 /​**797 /​**
776 ·​*··​Sets·​the·​camera's·​contrast.​·​See·​[DJICameraContrast](.​.​/​Enums/​DJICameraContrast.​html)​·​to·​view·​all·​possible·​contrasts·​to·​which·​the·​camera·​can·​be·​set.​798 ·​*··​Sets·​the·​camera's·​contrast.​·​See·​[DJICameraContrast](.​.​/​Enums/​DJICameraContrast.​html)​·​to·​view·​all·​possible·​contrasts·​to·​which·​the·​camera·​can·​be·​set.​
785 ·​*807 ·​*
786 ·​*··​@param·​block·​Completion·​block.​808 ·​*··​@param·​block·​Completion·​block.​
787 ·​*/​809 ·​*/​
788 -​·​(void)​getContrastWithComple​tion:​(void·​(^)​(DJICameraContrast·​contrast,​·​NSError·​*_Nullable·​error)​)​block;​810 -​·​(void)​getContrastWithComple​tion:​(void·​(^_Nonnull)​(DJICameraContrast·​contrast,​·​NSError·​*_Nullable·​error)​)​block;​
789 811
790 /​**812 /​**
791 ·​*··​Sets·​the·​camera's·​saturation.​·​The·​default·​saturation·​value·​is·​0.​813 ·​*··​Sets·​the·​camera's·​saturation.​·​The·​default·​saturation·​value·​is·​0.​
800 ·​*822 ·​*
801 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​823 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​
802 ·​*/​824 ·​*/​
803 -​·​(void)​getSaturationWithComp​letion:​(void·​(^)​(int8_t·​saturation,​·​NSError·​*_Nullable·​error)​)​block;​825 -​·​(void)​getSaturationWithComp​letion:​(void·​(^_Nonnull)​(int8_t·​saturation,​·​NSError·​*_Nullable·​error)​)​block;​
804 826
805 /​**827 /​**
806 ·​*··​Sets·​the·​camera's·​hue.​·​The·​default·​hue·​value·​is·​0.​828 ·​*··​Sets·​the·​camera's·​hue.​·​The·​default·​hue·​value·​is·​0.​
815 ·​*837 ·​*
816 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​838 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​
817 ·​*/​839 ·​*/​
818 -​·​(void)​getHueWithCompletion:​(void·​(^)​(int8_t·​hue,​·​NSError·​*_Nullable·​error)​)​block;​840 -​·​(void)​getHueWithCompletion:​(void·​(^_Nonnull)​(int8_t·​hue,​·​NSError·​*_Nullable·​error)​)​block;​
819 841
820 /​**842 /​**
821 ·​*··​Sets·​the·​camera's·​digital·​filter.​·​The·​default·​value·​is·​`DJICameraDigitalFilt​erNone`.​843 ·​*··​Sets·​the·​camera's·​digital·​filter.​·​The·​default·​value·​is·​`DJICameraDigitalFilt​erNone`.​
831 ·​*853 ·​*
832 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​854 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​
833 ·​*/​855 ·​*/​
834 -​·​(void)​getDigitalFilterWithC​ompletion:​(void·​(^)​(DJICameraDigitalFilt​er·​filter,​·​NSError·​*_Nullable·​error)​)​block;​856 -​·​(void)​getDigitalFilterWithC​ompletion:​(void·​(^_Nonnull)​(DJICameraDigitalFilt​er·​filter,​·​NSError·​*_Nullable·​error)​)​block;​
835 857
836 /​**858 /​**
837 ·​*··​Determines·​whether·​the·​device·​supports·​quick·​view.​·​Quick·​view·​is·​the·​period·​of·​time·​a·​photo·​is·​shown·​as·​a·​preview·​after·​it·​is·​taken·​and·​before·​the·​camera·​returns··​to·​the·​live·​camera·​view.​859 ·​*··​Determines·​whether·​the·​device·​supports·​quick·​view.​·​Quick·​view·​is·​the·​period·​of·​time·​a·​photo·​is·​shown·​as·​a·​preview·​after·​it·​is·​taken·​and·​before·​the·​camera·​returns··​to·​the·​live·​camera·​view.​
853 ·​*875 ·​*
854 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​876 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​
855 ·​*/​877 ·​*/​
856 -​·​(void)​getPhotoQuickViewDura​tionWithCompletion:​(void·​(^)​(NSUInteger·​duration,​·​NSError·​*_Nullable·​error)​)​block;​878 -​·​(void)​getPhotoQuickViewDura​tionWithCompletion:​(void·​(^_Nonnull)​(NSUInteger·​duration,​·​NSError·​*_Nullable·​error)​)​block;​
857 879
858 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​880 /​**
881 ·​*··​Check·​if·​the·​current·​device·​supports·​digital·​zoom·​scale.​
882 ·​*··​It·​is·​only·​supported·​by·​Osmo·​with·​X3·​camera·​and·​Phantom·​4·​camera.​
883 ·​*/​
884 -​·​(BOOL)​isDigitalZoomScaleSup​ported;​
885
886 /​**
887 ·​*··​Adjusts·​the·​digital·​zoom.​·
888 ·​*··​It·​is·​only·​supported·​by·​Osmo.​
889 ·​*
890 ·​*··​@param·​scale····​The·​valid·​range·​is·​from·​1.​0·​to·​2.​0.​
891 ·​*··​@param·​block····​The·​completion·​block·​with·​the·​returned·​execution·​result.​
892 ·​*/​
893 -​·​(void)​setDigitalZoomScale:​(float)​scale·​withCompletion:​(DJICompletionBlock)​block;​
894
895 /​**
896 ·​*·​Gets·​current·​digital·​zoom.​
897 ·​*
898 ·​*·​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​
899 ·​*·​@see·​[-​·​(void)​setDigitalZoomScale:​(float)​scale·​withCompletion:​(DJICompletionBlock)​block;​].​
900 ·​*/​
901 -​·​(void)​getDigitalZoomScaleWi​thCompletion:​(void·​(^_Nonnull)​(float·​scale,​·​NSError·​*_Nullable·​error)​)​block;​
902
903 /​*********************​*********************​*********************​******************/​
859 #pragma·​mark·​Audio·​Settings904 #pragma·​mark·​Audio·​Settings
860 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​905 /​*********************​*********************​*********************​******************/​
906
861 /​**907 /​**
862 ·​*··​Determines·​whether·​the·​current·​device·​supports·​audio·​recording.​908 ·​*··​Determines·​whether·​the·​current·​device·​supports·​audio·​recording.​
863 ·​*··​Currently·​audio·​recording·​is·​supported·​only·​by·​the·​Osmo·​camera.​909 ·​*··​Currently·​audio·​recording·​is·​supported·​only·​by·​the·​Osmo·​camera.​
876 922
877 /​**923 /​**
878 ·​*··​Supported·​only·​by·​Osmo·​camera.​924 ·​*··​Supported·​only·​by·​Osmo·​camera.​
879 ·​*··Gets·​whether·​the·​audio·​record·​is·​enabled.​925 ·​*··Determines·​whether·​the·​audio·​record·​is·​enabled.​
880 ·​*926 ·​*
881 ·​*··​@param·​block····​The·​execution·​callback·​with·​the·​returned·​value(s)​.​927 ·​*··​@param·​block····​The·​execution·​callback·​with·​the·​returned·​value(s)​.​
882 ·​*/​928 ·​*/​
883 -​·​(void)​getAudioRecordEnabled​WithCompletion:​(void·​(^)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​block;​929 -​·​(void)​getAudioRecordEnabled​WithCompletion:​(void·​(^_Nonnull)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​block;​
884 930
885 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​931 /​**
932 ·​*··​Sets·​the·​microphone·​recording·​gain.​
933 ·​*··​Only·​supported·​by·​Osmo.​
934 ·​*··​@param·​value····​Recording·​gain·​with·​range·​[0,​100].​
935 ·​*··​@param·​block····​The·​completion·​block·​with·​the·​returned·​value(s)​.​
936 ·​*/​
937 -​·​(void)​setAudioGain:​(uint8_t)​value·​withCompletion:​(DJICompletionBlock)​block;​
938
939 /​**
940 ·​*··​Gets·​the·​microphone·​recording·​gain.​
941 ·​*··​Only·​supported·​by·​Osmo.​
942 ·​*
943 ·​*··​@param·​block·​The·​completion·​block·​with·​the·​returned·​value(s)​.​
944 ·​*/​
945 -​·​(void)​getAudioGainWithCompl​etion:​(void·​(^_Nonnull)​(uint8_t·​value,​·​NSError·​*_Nullable·​error)​)​block;​
946
947 /​**
948 ·​*··​This·​method·​will·​turn·​off·​the·​camera's·​cooling·​fan·​whenever·​the·​camera·​is·​cool·​enough·​to·​do·​so.​·​This·​allows·​better·​audio·​recording·​from·​the·​internal·​microphone·​in·​the·​camera.​
949 ·​*··​Supported·​Only·​by·​Osmo.​
950 ·​*
951 ·​*··​@param·​turnOffWhenPossible·​`true`·​to·​turn·​fan·​off·​whenever·​possible.​
952 ·​*··​@param·​block·​The·​execution·​block·​with·​the·​returned·​execution·​result.​
953 ·​*/​
954 -​·​(void)​setTurnOffFanWhenPoss​ible:​(BOOL)​turnOffWhenPossible·​withCompletion:​(DJICompletionBlock)​block;​
955
956 /​**
957 ·​*··​Gets·​if·​the·​fan·​will·​turn·​off·​whenever·​it·​is·​cool·​enough·​to·​do·​so·​to·​enable·​better·​audio·​recordings·​from·​the·​camera's·​internal·​microphone.​
958 ·​*
959 ·​*··​@param·​block·​Remote·​execution·​result·​completion·​block.​
960 ·​*/​
961 -​·​(void)​getTurnOffFanWhenPoss​ibleWithCompletion:​(void·​(^_Nonnull)​(BOOL·​turnOffWhenPossible,​·​NSError·​*_Nullable·​error)​)​block;​
962
963 /​*********************​*********************​*********************​******************/​
886 #pragma·​mark·​Advanced·​Camera·​Settings964 #pragma·​mark·​Advanced·​Camera·​Settings
887 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​965 /​*********************​*********************​*********************​******************/​
888 966
889 /​**967 /​**
890 ·​*··Gets·​whether·​the·​changeable·​lens·​is·​supported·​by·​the·​camera.​968 ·​*··Determines·​whether·​the·​changeable·​lens·​is·​supported·​by·​the·​camera.​
891 ·​*··​Currently·​a·​changeable·​lens·​is·​supported·​only·​by·​the·​X5·​and·​X5R·​cameras.​969 ·​*··​Currently·​a·​changeable·​lens·​is·​supported·​only·​by·​the·​X5·​and·​X5R·​cameras.​
892 ·​*/​970 ·​*/​
893 -​·​(BOOL)​isChangeableLensSuppo​rted;​971 -​·​(BOOL)​isChangeableLensSuppo​rted;​
899 ·​*977 ·​*
900 ·​*··​@param·​callback·​The·​execution·​callback·​with·​the·​returned·​value(s)​.​978 ·​*··​@param·​callback·​The·​execution·​callback·​with·​the·​returned·​value(s)​.​
901 ·​*/​979 ·​*/​
902 -​·​(void)​getLensInformationWit​hCompletion:​(void·​(^)​(NSString·​*_Nullable·​info,​·​NSError·​*_Nullable·​error)​)​block;​980 -​·​(void)​getLensInformationWit​hCompletion:​(void·​(^_Nonnull)​(NSString·​*_Nullable·​info,​·​NSError·​*_Nullable·​error)​)​block;​
903 981
904 /​**982 /​**
905 ·​*··​Determines·​whether·​the·​camera·​supports·​an·​adjustable·​aperture.​983 ·​*··​Determines·​whether·​the·​camera·​supports·​an·​adjustable·​aperture.​
927 ·​*1005 ·​*
928 ·​*··​@param·​block·​The·​execution·​callback·​with·​the·​returned·​value(s)​.​1006 ·​*··​@param·​block·​The·​execution·​callback·​with·​the·​returned·​value(s)​.​
929 ·​*/​1007 ·​*/​
930 -​·​(void)​getApertureWithComple​tion:​(void·​(^)​(DJICameraAperture·​aperture,​·​NSError·​*_Nullable·​error)​)​block;​1008 -​·​(void)​getApertureWithComple​tion:​(void·​(^_Nonnull)​(DJICameraAperture·​aperture,​·​NSError·​*_Nullable·​error)​)​block;​
931 1009
932 /​**1010 /​**
933 ·​*··​Determines·​whether·​the·​camera·​supports·​an·​adjustable·​focal·​point.​1011 ·​*··​Determines·​whether·​the·​camera·​supports·​an·​adjustable·​focal·​point.​
952 ·​*1030 ·​*
953 ·​*·​@param·​block·​The·​execution·​callback·​with·​the·​returned·​value(s)​.​1031 ·​*·​@param·​block·​The·​execution·​callback·​with·​the·​returned·​value(s)​.​
954 ·​*/​1032 ·​*/​
955 -​·​(void)​getLensFocusModeWithC​ompletion:​(void·​(^)​(DJICameraLensFocusMo​de·​focusMode,​·​NSError·​*_Nullable·​error)​)​block;​1033 -​·​(void)​getLensFocusModeWithC​ompletion:​(void·​(^_Nonnull)​(DJICameraLensFocusMo​de·​focusMode,​·​NSError·​*_Nullable·​error)​)​block;​
956 1034
957 /​**1035 /​**
958 ·​*··​Sets·​the·​lens·​focus·​target·​point.​1036 ·​*··​Sets·​the·​lens·​focus·​target·​point.​
976 ·​*1054 ·​*
977 ·​*··​@param·​callback·​The·​execution·​callback·​with·​the·​returned·​value(s)​.​1055 ·​*··​@param·​callback·​The·​execution·​callback·​with·​the·​returned·​value(s)​.​
978 ·​*/​1056 ·​*/​
979 -​·​(void)​getLensFocusTargetWit​hCompletion:​(void·​(^)​(CGPoint·​focusTarget,​·​NSError·​*_Nullable·​error)​)​block;​1057 -​·​(void)​getLensFocusTargetWit​hCompletion:​(void·​(^_Nonnull)​(CGPoint·​focusTarget,​·​NSError·​*_Nullable·​error)​)​block;​
980 1058
981 /​**1059 /​**
982 ·​*··​Sets·​whether·​the·​lens·​focus·​assistant·​is·​enabled.​1060 ·​*··​Sets·​whether·​the·​lens·​focus·​assistant·​is·​enabled.​
991 -​·​(void)​setLensFocusAssistant​EnabledForMF:​(BOOL)​MFenabled·​andAF:​(BOOL)​AFenabled·​withCompletion:​(DJICompletionBlock)​block;​1069 -​·​(void)​setLensFocusAssistant​EnabledForMF:​(BOOL)​MFenabled·​andAF:​(BOOL)​AFenabled·​withCompletion:​(DJICompletionBlock)​block;​
992 1070
993 /​**1071 /​**
994 ·​*··Gets·​whether·​the·​lens·​focus·​assistant·​is·​enabled.​1072 ·​*··Determines·​whether·​the·​lens·​focus·​assistant·​is·​enabled.​
995 ·​*··​It·​is·​available·​only·​when·​`isAdjustableFocalPoi​ntSupported`·​returns·​`YES`.​1073 ·​*··​It·​is·​available·​only·​when·​`isAdjustableFocalPoi​ntSupported`·​returns·​`YES`.​
996 ·​*··​Supported·​only·​by·​the·​X5·​and·​X5R·​cameras.​1074 ·​*··​Supported·​only·​by·​the·​X5·​and·​X5R·​cameras.​
997 ·​*1075 ·​*
998 ·​*··​@param·​block·​The·​execution·​callback·​with·​the·​returned·​value(s)​.​1076 ·​*··​@param·​block·​The·​execution·​callback·​with·​the·​returned·​value(s)​.​
999 ·​*··​The·​first·​result·​stands·​for·​MF,​·​the·​second·​result·​stands·​for·​AF.​1077 ·​*··​The·​first·​result·​stands·​for·​MF,​·​the·​second·​result·​stands·​for·​AF.​
1000 ·​*/​1078 ·​*/​
1001 -​·​(void)​getLensFocusAssistant​EnabledForMFAndAFWith​Completion:​(void·​(^)​(BOOL·​MFenabled,​·​BOOL·​AFenabled,​·​NSError·​*_Nullable·​error)​)​block;​1079 -​·​(void)​getLensFocusAssistant​EnabledForMFAndAFWith​Completion:​(void·​(^_Nonnull)​(BOOL·​MFenabled,​·​BOOL·​AFenabled,​·​NSError·​*_Nullable·​error)​)​block;​
1002 1080
1003 /​**1081 /​**
1004 ·​*··​Gets·​the·​lens·​focusing·​ring·​value's·​max·​value.​1082 ·​*··​Gets·​the·​lens·​focusing·​ring·​value's·​max·​value.​
1007 ·​*1085 ·​*
1008 ·​*··​@param·​callback·​The·​execution·​callback·​with·​the·​returned·​value(s)​.​1086 ·​*··​@param·​callback·​The·​execution·​callback·​with·​the·​returned·​value(s)​.​
1009 ·​*/​1087 ·​*/​
1010 -​·​(void)​getLensFocusRingValue​UpperBoundWithComplet​ion:​(void·​(^)​(NSUInteger·​upperBound,​·​NSError·​*_Nullable·​error)​)​block;​1088 -​·​(void)​getLensFocusRingValue​UpperBoundWithComplet​ion:​(void·​(^_Nonnull)​(NSUInteger·​upperBound,​·​NSError·​*_Nullable·​error)​)​block;​
1011 1089
1012 /​**1090 /​**
1013 ·​*··​Set·​the·​focal·​distance·​by·​simulating·​the·​focus·​ring·​adjustment.​·​Value·​can·​have·​a·​range·​of·​[0,​·​`getLensFocusRingValu​eUpperBoundWithComple​tion`],​·​which·​represents·​infinity·​and·​the·​closest·​possible·​focal·​distance.​1091 ·​*··​Set·​the·​focal·​distance·​by·​simulating·​the·​focus·​ring·​adjustment.​·​Value·​can·​have·​a·​range·​of·​[0,​·​`getLensFocusRingValu​eUpperBoundWithComple​tion`],​·​which·​represents·​infinity·​and·​the·​closest·​possible·​focal·​distance.​
1035 ·​*1113 ·​*
1036 ·​*··​@param·​callback·​The·​execution·​callback·​with·​the·​returned·​value(s)​.​1114 ·​*··​@param·​callback·​The·​execution·​callback·​with·​the·​returned·​value(s)​.​
1037 ·​*/​1115 ·​*/​
1038 -​·​(void)​getLensFocusRingValue​WithCompletion:​(void·​(^)​(NSUInteger·​distance,​·​NSError·​*_Nullable·​error)​)​block;​1116 -​·​(void)​getLensFocusRingValue​WithCompletion:​(void·​(^_Nonnull)​(NSUInteger·​distance,​·​NSError·​*_Nullable·​error)​)​block;​
1039 1117
1040 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1118 /​*********************​*********************​*********************​******************/​
1041 #pragma·​mark·​Save/​load·​camera·​settings1119 #pragma·​mark·​Save/​load·​camera·​settings
1042 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1120 /​*********************​*********************​*********************​******************/​
1121
1043 /​**1122 /​**
1044 ·​*··​Load·​the·​camera's·​factory·​settings.​·​<br>1123 ·​*··​Load·​the·​camera's·​factory·​settings.​·​<br>
1045 ·​*··​Also·​supported·​by·​thermal·​imaging·​camera.​1124 ·​*··​Also·​supported·​by·​thermal·​imaging·​camera.​
1116 ·​*1195 ·​*
1117 ·​*··​@deprecated·​Call·​[DJICameraDelegate·​camera:​didUpdateSDCardState:​]·​instead.​1196 ·​*··​@deprecated·​Call·​[DJICameraDelegate·​camera:​didUpdateSDCardState:​]·​instead.​
1118 ·​*/​1197 ·​*/​
1119 -​·​(void)​getSDCardInfoWithComp​letion:​(void·​(^)​(DJICameraSDCardState​·​*_Nullable·​sdInfo,​·​NSError·​*_Nullable·​error)​)​block·​DJI_API_DEPRECATED("U​se·​camera:​didUpdateSDCardState:​·​in·​DJICameraDelegate·​instead.​·​")​;​1198 -​·​(void)​getSDCardInfoWithComp​letion:​(void·​(^_Nonnull)​(DJICameraSDCardState​·​*_Nullable·​sdInfo,​·​NSError·​*_Nullable·​error)​)​block·​DJI_API_DEPRECATED("U​se·​camera:​didUpdateSDCardState:​·​in·​DJICameraDelegate·​instead.​·​")​;​
1120 1199
1121 @end1200 @end
1122 1201
1129 ·​*/​1208 ·​*/​
1130 @interface·​DJICamera·​(SSDOperations)​1209 @interface·​DJICamera·​(SSDOperations)​
1131 /​**1210 /​**
1132 ·​*··Gets·​whether·​the·​SSD·​is·​supported·​by·​the·​camera.​1211 ·​*··Determines·​whether·​the·​SSD·​is·​supported·​by·​the·​camera.​
1133 ·​*··​Currently,​·​the·​SSD·​is·​supported·​only·​by·​X5R·​camera.​1212 ·​*··​Currently,​·​the·​SSD·​is·​supported·​only·​by·​X5R·​camera.​
1134 ·​*/​1213 ·​*/​
1135 -​·​(BOOL)​isSSDSupported;​1214 -​·​(BOOL)​isSSDSupported;​
1181 ·​*1260 ·​*
1182 ·​*··​@param·​block·​Get·​raw·​video·​resolution·​and·​frame·​rate·​result·​callback·​block.​1261 ·​*··​@param·​block·​Get·​raw·​video·​resolution·​and·​frame·​rate·​result·​callback·​block.​
1183 ·​*/​1262 ·​*/​
1184 -​·​(void)​getSSDRawVideoResolut​ionAndFrameRateWithCo​mpletion:​(void·​(^)​(DJICameraVideoResolu​tion·​resolution,​·​DJICameraVideoFrameRa​te·​frameRate,​·​NSError·​*_Nullable·​error)​)​block;​1263 -​·​(void)​getSSDRawVideoResolut​ionAndFrameRateWithCo​mpletion:​(void·​(^_Nonnull)​(DJICameraVideoResolu​tion·​resolution,​·​DJICameraVideoFrameRa​te·​frameRate,​·​NSError·​*_Nullable·​error)​)​block;​
1185 1264
1186 @end1265 @end
1187 1266
1212 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1291 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1213 ·​*··​@see·​[-​·​(void)​setThermalROI:​(DJICameraThermalROI)​roi·​withCompletion:​(DJICompletionBlock)​block].​1292 ·​*··​@see·​[-​·​(void)​setThermalROI:​(DJICameraThermalROI)​roi·​withCompletion:​(DJICompletionBlock)​block].​
1214 ·​*/​1293 ·​*/​
1215 -​·​(void)​getThermalROIWithComp​letion:​(void·​(^)​(DJICameraThermalROI·​roi,​·​NSError·​*_Nullable·​error)​)​block;​1294 -​·​(void)​getThermalROIWithComp​letion:​(void·​(^_Nonnull)​(DJICameraThermalROI·​roi,​·​NSError·​*_Nullable·​error)​)​block;​
1216 1295
1217 /​**1296 /​**
1218 ·​*··​Sets·​the·​Palette.​·​Each·​palette·​is·​a·​unique·​look-​up·​table·​that·​maps·​8-​bit·​temperature·​values·​to·​different·​colors.​·​Different·​palettes·​can·​be·​used·​to·​help·​the·​user·​better·​visualize·​temperature·​contrast·​or·​specific·​temperature·​bands.​1297 ·​*··​Sets·​the·​Palette.​·​Each·​palette·​is·​a·​unique·​look-​up·​table·​that·​maps·​8-​bit·​temperature·​values·​to·​different·​colors.​·​Different·​palettes·​can·​be·​used·​to·​help·​the·​user·​better·​visualize·​temperature·​contrast·​or·​specific·​temperature·​bands.​
1230 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1309 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1231 ·​*··​@see·​[-​·​(void)​setThermalPalette:​(DJICameraThermalPale​tte)​palette·​withCompletion:​(DJICompletionBlock)​block].​1310 ·​*··​@see·​[-​·​(void)​setThermalPalette:​(DJICameraThermalPale​tte)​palette·​withCompletion:​(DJICompletionBlock)​block].​
1232 ·​*/​1311 ·​*/​
1233 -​·​(void)​getThermalPaletteWith​Completion:​(void·​(^)​(DJICameraThermalPale​tte·​palette,​·​NSError·​*_Nullable·​error)​)​block;​1312 -​·​(void)​getThermalPaletteWith​Completion:​(void·​(^_Nonnull)​(DJICameraThermalPale​tte·​palette,​·​NSError·​*_Nullable·​error)​)​block;​
1234 1313
1235 /​**1314 /​**
1236 ·​*··​Sets·​the·​scene·​to·​instantly·​enhance·​your·​image.​1315 ·​*··​Sets·​the·​scene·​to·​instantly·​enhance·​your·​image.​
1251 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1330 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1252 ·​*··​@see·​[-​·​(void)​setThermalScene:​(DJICameraThermalScen​e)​scene·​withCompletion:​(DJICompletionBlock)​block].​1331 ·​*··​@see·​[-​·​(void)​setThermalScene:​(DJICameraThermalScen​e)​scene·​withCompletion:​(DJICompletionBlock)​block].​
1253 ·​*/​1332 ·​*/​
1254 -​·​(void)​getThermalSceneWithCo​mpletion:​(void·​(^)​(DJICameraThermalScen​e·​scene,​·​NSError·​*_Nullable·​error)​)​block;​1333 -​·​(void)​getThermalSceneWithCo​mpletion:​(void·​(^_Nonnull)​(DJICameraThermalScen​e·​scene,​·​NSError·​*_Nullable·​error)​)​block;​
1255 1334
1256 /​**1335 /​**
1257 ·​*··​Sets·​the·​Digital·​Data·​Enhancement·​index·​(for·​DDE·​dynamic·​mode)​.​·​DDE·​can·​be·​used·​to·​enhance·​image·​details·​(sharpen,​·​higher·​index)​·​and/​or·​suppress·​fixed·​pattern·​noise·​(soften,​·​lower·​index)​.​1336 ·​*··​Sets·​the·​Digital·​Data·​Enhancement·​index·​(for·​DDE·​dynamic·​mode)​.​·​DDE·​can·​be·​used·​to·​enhance·​image·​details·​(sharpen,​·​higher·​index)​·​and/​or·​suppress·​fixed·​pattern·​noise·​(soften,​·​lower·​index)​.​
1273 ·​*·​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1352 ·​*·​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1274 ·​*·​@see·​[-​·​(void)​setThermalDDE:​(NSInteger)​value·​withCompletion:​(DJICompletionBlock)​block].​1353 ·​*·​@see·​[-​·​(void)​setThermalDDE:​(NSInteger)​value·​withCompletion:​(DJICompletionBlock)​block].​
1275 ·​*/​1354 ·​*/​
1276 -​·​(void)​getThermalDDEWithComp​letion:​(void·​(^)​(NSInteger·​value,​·​NSError·​*_Nullable·​error)​)​block;​1355 -​·​(void)​getThermalDDEWithComp​letion:​(void·​(^_Nonnull)​(NSInteger·​value,​·​NSError·​*_Nullable·​error)​)​block;​
1277 1356
1278 /​**1357 /​**
1279 ·​*··​Set·​the·​value·​of·​Active·​Contrast·​Enhancement.​·​Active·​contrast·​enhancement·​allows·​for·​a·​contrast·​trade-​off·​between·​hotter·​and·​colder·​scenes·​when·​using·​8-​bit·​pixel·​data.​1358 ·​*··​Set·​the·​value·​of·​Active·​Contrast·​Enhancement.​·​Active·​contrast·​enhancement·​allows·​for·​a·​contrast·​trade-​off·​between·​hotter·​and·​colder·​scenes·​when·​using·​8-​bit·​pixel·​data.​
1297 ·​*·​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1376 ·​*·​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1298 ·​*·​@see·​[-​·​(void)​setThermalACE:​(NSInteger)​value·​withCompletion:​(DJICompletionBlock)​block].​1377 ·​*·​@see·​[-​·​(void)​setThermalACE:​(NSInteger)​value·​withCompletion:​(DJICompletionBlock)​block].​
1299 ·​*/​1378 ·​*/​
1300 -​·​(void)​·​getThermalACEWithComp​letion:​(void·​(^)​(NSInteger·​value,​·​NSError·​*_Nullable·​error)​)​block;​1379 -​·​(void)​·​getThermalACEWithComp​letion:​(void·​(^_Nonnull)​(NSInteger·​value,​·​NSError·​*_Nullable·​error)​)​block;​
1301 1380
1302 1381
1303 /​**1382 /​**
1319 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1398 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1320 ·​*··​@see·​[-​·​(void)​setThermalSSO:​(NSInteger)​value·​withCompletion:​(DJICompletionBlock)​block].​1399 ·​*··​@see·​[-​·​(void)​setThermalSSO:​(NSInteger)​value·​withCompletion:​(DJICompletionBlock)​block].​
1321 ·​*/​1400 ·​*/​
1322 -​·​(void)​getThermalSSOWithComp​letion:​(void·​(^)​(NSInteger·​value,​·​NSError·​*_Nullable·​error)​)​block;​1401 -​·​(void)​getThermalSSOWithComp​letion:​(void·​(^_Nonnull)​(NSInteger·​value,​·​NSError·​*_Nullable·​error)​)​block;​
1323 1402
1324 /​**1403 /​**
1325 ·​*··​Sets·​the·​brightness·​of·​the·​image.​1404 ·​*··​Sets·​the·​brightness·​of·​the·​image.​
1339 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1418 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1340 ·​*··​@see·​[-​·​(void)​setThermalBrightness:​(NSUInteger)​brightness·​withCompletion:​(DJICompletionBlock)​block].​1419 ·​*··​@see·​[-​·​(void)​setThermalBrightness:​(NSUInteger)​brightness·​withCompletion:​(DJICompletionBlock)​block].​
1341 ·​*/​1420 ·​*/​
1342 -​·​(void)​getThermalBrightnessW​ithCompletion:​(void·​(^)​(NSUInteger·​brightness,​·​NSError·​*_Nullable·​error)​)​block;​1421 -​·​(void)​getThermalBrightnessW​ithCompletion:​(void·​(^_Nonnull)​(NSUInteger·​brightness,​·​NSError·​*_Nullable·​error)​)​block;​
1343 1422
1344 /​**1423 /​**
1345 ·​*··​Sets·​the·​value·​of·​contrast,​·​with·​larger·​values·​having·​higher·​contrast.​1424 ·​*··​Sets·​the·​value·​of·​contrast,​·​with·​larger·​values·​having·​higher·​contrast.​
1359 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1438 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1360 ·​*··​@see·​[-​·​(void)​setThermalContrast:​(NSUInteger)​contrast·​withCompletion:​(DJICompletionBlock)​block].​1439 ·​*··​@see·​[-​·​(void)​setThermalContrast:​(NSUInteger)​contrast·​withCompletion:​(DJICompletionBlock)​block].​
1361 ·​*/​1440 ·​*/​
1362 -​·​(void)​getThermalContrastWit​hCompletion:​(void·​(^)​(NSUInteger·​Contrast,​·​NSError·​*_Nullable·​error)​)​block;​1441 -​·​(void)​getThermalContrastWit​hCompletion:​(void·​(^_Nonnull)​(NSUInteger·​Contrast,​·​NSError·​*_Nullable·​error)​)​block;​
1363 1442
1364 /​**1443 /​**
1365 ·​*··​Enable·​or·​disable·​Isotherms.​·​Isotherms·​can·​be·​used·​to·​highlight·​specific·​temperature·​ranges:​1444 ·​*··​Enable·​or·​disable·​Isotherms.​·​Isotherms·​can·​be·​used·​to·​highlight·​specific·​temperature·​ranges:​
1378 ·​*1457 ·​*
1379 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1458 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1380 ·​*/​1459 ·​*/​
1381 -​·​(void)​getThermalIsothermEna​bledWithCompletion:​(void·​(^)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​block;​1460 -​·​(void)​getThermalIsothermEna​bledWithCompletion:​(void·​(^_Nonnull)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​block;​
1382 1461
1383 /​**1462 /​**
1384 ·​*··​Sets·​the·​unit·​of·​the·​Isotherm·​ranges·​to·​either·​Celsius·​or·​percent.​·​Different·​units·​results·​in·​different·​value·​ranges·​for·​Isotherms.​1463 ·​*··​Sets·​the·​unit·​of·​the·​Isotherm·​ranges·​to·​either·​Celsius·​or·​percent.​·​Different·​units·​results·​in·​different·​value·​ranges·​for·​Isotherms.​
1396 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1475 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1397 ·​*··​@see·​[-​·​(void)​setThermalIsothermUni​t:​(DJICameraThermalIsot​hermUnit)​unit·​withCompletion:​(DJICompletionBlock)​block].​1476 ·​*··​@see·​[-​·​(void)​setThermalIsothermUni​t:​(DJICameraThermalIsot​hermUnit)​unit·​withCompletion:​(DJICompletionBlock)​block].​
1398 ·​*/​1477 ·​*/​
1399 -​·​(void)​getThermalIsothermUni​tWithCompletion:​(void·​(^)​(DJICameraThermalIsot​hermUnit·​unit,​·​NSError·​*_Nullable·​error)​)​block;​1478 -​·​(void)​getThermalIsothermUni​tWithCompletion:​(void·​(^_Nonnull)​(DJICameraThermalIsot​hermUnit·​unit,​·​NSError·​*_Nullable·​error)​)​block;​
1400 1479
1401 /​**1480 /​**
1402 ·​*··​Sets·​the·​upper·​threshold·​value·​for·​Isotherm.​·​All·​temperature·​values·​above·​this·​will·​use·​colors·​224-​255·​from·​the·​palatte.​1481 ·​*··​Sets·​the·​upper·​threshold·​value·​for·​Isotherm.​·​All·​temperature·​values·​above·​this·​will·​use·​colors·​224-​255·​from·​the·​palatte.​
1416 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1495 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1417 ·​*··​@see·​[-​·​(void)​setThermalIsothermUpp​erValue:​(NSInteger)​value·​withCompletion:​(DJICompletionBlock)​block].​1496 ·​*··​@see·​[-​·​(void)​setThermalIsothermUpp​erValue:​(NSInteger)​value·​withCompletion:​(DJICompletionBlock)​block].​
1418 ·​*/​1497 ·​*/​
1419 -​·​(void)​getThermalIsothermUpp​erValueWithCompletion​:​(void·​(^)​(NSInteger·​value,​·​NSError·​*_Nullable·​error)​)​block;​1498 -​·​(void)​getThermalIsothermUpp​erValueWithCompletion​:​(void·​(^_Nonnull)​(NSInteger·​value,​·​NSError·​*_Nullable·​error)​)​block;​
1420 1499
1421 /​**1500 /​**
1422 ·​*··​Sets·​the·​middle·​threshold·​value·​for·​Isotherm.​·​Temperature·​values·​between·​the·​middle·​and·​upper·​Isotherm·​threshold·​will·​be·​displayed·​with·​colors·​176-​223·​from·​the·​palette.​1501 ·​*··​Sets·​the·​middle·​threshold·​value·​for·​Isotherm.​·​Temperature·​values·​between·​the·​middle·​and·​upper·​Isotherm·​threshold·​will·​be·​displayed·​with·​colors·​176-​223·​from·​the·​palette.​
1436 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1515 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1437 ·​*··​@see·​[-​·​(void)​setThermalIsothermMid​dleValue:​(NSInteger)​value·​withCompletion:​(DJICompletionBlock)​block]·​method.​1516 ·​*··​@see·​[-​·​(void)​setThermalIsothermMid​dleValue:​(NSInteger)​value·​withCompletion:​(DJICompletionBlock)​block]·​method.​
1438 ·​*/​1517 ·​*/​
1439 -​·​(void)​getThermalIsothermMid​dleValueWithCompletio​n:​(void·​(^)​(NSInteger·​value,​·​NSError·​*_Nullable·​error)​)​block;​1518 -​·​(void)​getThermalIsothermMid​dleValueWithCompletio​n:​(void·​(^_Nonnull)​(NSInteger·​value,​·​NSError·​*_Nullable·​error)​)​block;​
1440 1519
1441 /​**1520 /​**
1442 ·​*··​Sets·​the·​lower·​threshold·​value·​for·​Isotherm.​·​Temperature·​values·​between·​the·​lower·​and·​middle·​Isotherm·​threshold·​will·​be·​displayed·​with·​colors·​128-​175·​from·​the·​palette.​1521 ·​*··​Sets·​the·​lower·​threshold·​value·​for·​Isotherm.​·​Temperature·​values·​between·​the·​lower·​and·​middle·​Isotherm·​threshold·​will·​be·​displayed·​with·​colors·​128-​175·​from·​the·​palette.​
1456 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1535 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1457 ·​*··​@see·​[-​·​(void)​setThermalIsothermLow​erValue:​(NSInteger)​value·​withCompletion:​(DJICompletionBlock)​block].​1536 ·​*··​@see·​[-​·​(void)​setThermalIsothermLow​erValue:​(NSInteger)​value·​withCompletion:​(DJICompletionBlock)​block].​
1458 ·​*/​1537 ·​*/​
1459 -​·​(void)​getThermalIsothermLow​erValueWithCompletion​:​(void·​(^)​(NSInteger·​value,​·​NSError·​*_Nullable·​error)​)​block;​1538 -​·​(void)​getThermalIsothermLow​erValueWithCompletion​:​(void·​(^_Nonnull)​(NSInteger·​value,​·​NSError·​*_Nullable·​error)​)​block;​
1460 1539
1461 /​**1540 /​**
1462 ·​*··​Sets·​the·​gain·​mode.​·​Low·​gain·​mode·​can·​be·​used·​for·​scenes·​with·​temperatures·​ranging·​from·​-​40·​to·​550·​degrees·​Celsius.​·​For·​higher·​contrast,​·​the·​high·​gain·​mode·​can·​be·​used·​by·​for·​temperatures·​between·​-​25·​to·​135·​degrees·​Celsius·​for·​the·​640x512·​camera·​and·​-​25·​to·​100·​degrees·​Celsius·​for·​324·​x·​256·​camera.​1541 ·​*··​Sets·​the·​gain·​mode.​·​Low·​gain·​mode·​can·​be·​used·​for·​scenes·​with·​temperatures·​ranging·​from·​-​40·​to·​550·​degrees·​Celsius.​·​For·​higher·​contrast,​·​the·​high·​gain·​mode·​can·​be·​used·​by·​for·​temperatures·​between·​-​25·​to·​135·​degrees·​Celsius·​for·​the·​640x512·​camera·​and·​-​25·​to·​100·​degrees·​Celsius·​for·​324·​x·​256·​camera.​
1474 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1553 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1475 ·​*··​@see·​[-​·​(void)​setThermalGainMode:​(DJICameraThermalGain​Mode)​mode·​withCompletion:​(DJICompletionBlock)​block].​1554 ·​*··​@see·​[-​·​(void)​setThermalGainMode:​(DJICameraThermalGain​Mode)​mode·​withCompletion:​(DJICompletionBlock)​block].​
1476 ·​*/​1555 ·​*/​
1477 -​·​(void)​getThermalGainModeWit​hCompletion:​(void(^)​(DJICameraThermalGain​Mode·​mode,​·​NSError·​*_Nullable·​error)​)​block;​1556 -​·​(void)​getThermalGainModeWit​hCompletion:​(void(^_Nonnull)​(DJICameraThermalGain​Mode·​mode,​·​NSError·​*_Nullable·​error)​)​block;​
1478 1557
1479 /​**1558 /​**
1480 ·​*··​Enable·​or·​disable·​the·​temperature·​measurement·​data·​delegate·​method·​`[camera:​didUpdateTemperatureD​ata:​]`·​in·​`DJICameraDelegate`.​·​For·​the·​XT,​·​the·​measurement·​data·​is·​at·​the·​center·​of·​the·​image.​1559 ·​*··​Enable·​or·​disable·​the·​temperature·​measurement·​data·​delegate·​method·​`[camera:​didUpdateTemperatureD​ata:​]`·​in·​`DJICameraDelegate`.​·​For·​the·​XT,​·​the·​measurement·​data·​is·​at·​the·​center·​of·​the·​image.​
1492 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1571 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1493 ·​*··​@see·​[-​·​(void)​setThermalTemperature​DataEnabled:​(BOOL)​enabled·​withCompletion:​(DJICompletionBlock)​block].​1572 ·​*··​@see·​[-​·​(void)​setThermalTemperature​DataEnabled:​(BOOL)​enabled·​withCompletion:​(DJICompletionBlock)​block].​
1494 ·​*/​1573 ·​*/​
1495 -​·​(void)​getThermalTemperature​DataEnabledWithComple​tion:​(void·​(^)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​block;​1574 -​·​(void)​getThermalTemperature​DataEnabledWithComple​tion:​(void·​(^_Nonnull)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​block;​
1496 1575
1497 /​**1576 /​**
1498 ·​*··​Adjusts·​the·​digital·​zoom.​1577 ·​*··​Adjusts·​the·​digital·​zoom.​
1510 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1589 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1511 ·​*··​@see·​[-​·​(void)​setThermalDigitalZoom​Scale:​(DJICameraThermalDigi​talZoomScale)​scale·​withCompletion:​(DJICompletionBlock)​block].​1590 ·​*··​@see·​[-​·​(void)​setThermalDigitalZoom​Scale:​(DJICameraThermalDigi​talZoomScale)​scale·​withCompletion:​(DJICompletionBlock)​block].​
1512 ·​*/​1591 ·​*/​
1513 -​·​(void)​getThermalDigitalZoom​ScaleWithCompletion:​(void·​(^)​(DJICameraThermalDigi​talZoomScale·​scale,​·​NSError·​*_Nullable·​error)​)​block;​1592 -​·​(void)​getThermalDigitalZoom​ScaleWithCompletion:​(void·​(^_Nonnull)​(DJICameraThermalDigi​talZoomScale·​scale,​·​NSError·​*_Nullable·​error)​)​block;​
1514 1593
1515 /​**1594 /​**
1516 ·​*··​Gets·​the·​thermal·​imaging·​camera·​profile.​·​The·​profile·​includes·​information·​about·​resolution,​·​frame·​rate·​and·​focal·​length.​1595 ·​*··​Gets·​the·​thermal·​imaging·​camera·​profile.​·​The·​profile·​includes·​information·​about·​resolution,​·​frame·​rate·​and·​focal·​length.​
1518 ·​*1597 ·​*
1519 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·1598 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​getter·​result.​·​When·​an·​error·​occurs,​·​the·​error·​is·​returned·​and·​the·​result·​is·​undefined.​·
1520 ·​*/​1599 ·​*/​
1521 -​·​(void)​getThermalProfileWith​Completion:​(void(^)​(DJICameraThermalProf​ile·​profile,​·​NSError·​*_Nullable·​error)​)​block;​1600 -​·​(void)​getThermalProfileWith​Completion:​(void(^_Nonnull)​(DJICameraThermalProf​ile·​profile,​·​NSError·​*_Nullable·​error)​)​block;​
1522 1601
1523 @end1602 @end
1524 1603
diff --git a/Headers/DJICameraSettingsDef.h b/Headers/DJICameraSettingsDef.h
index 77c8963..dfd958f 100644
3.1.1/​Headers/​DJICameraSettingsDef.​h3.2/​Headers/​DJICameraSettingsDef.​h
31 #pragma·​mark·​-​·​Camera·​Modes31 #pragma·​mark·​-​·​Camera·​Modes
32 /​*********************​*********************​*********************​******************/​32 /​*********************​*********************​*********************​******************/​
33 33
34 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​34 /​*********************​*********************​*********************​******************/​
35 #pragma·​mark·​DJICameraMode35 #pragma·​mark·​DJICameraMode
36 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​36 /​*********************​*********************​*********************​******************/​
37
37 /​**38 /​**
38 ·​*··​Camera·​work·​modes.​39 ·​*··​Camera·​work·​modes.​
39 ·​*/​40 ·​*/​
54 ····​DJICameraModePlayback​·​=·​0x02,​55 ····​DJICameraModePlayback​·​=·​0x02,​
55 ····​/​**56 ····​/​**
56 ·····​*··​In·​this·​mode,​·​the·​user·​can·​download·​media·​to·​the·​Mobile·​Device.​57 ·····​*··​In·​this·​mode,​·​the·​user·​can·​download·​media·​to·​the·​Mobile·​Device.​
57 ·····​*··​Not·Supported·​by·​X5·​and·​X5R.​58 ·····​*··​Not·supported·​by·Inspire·1·Pro·(X5·camera)​·nor·Inspire·1·RAW·(X5R·camera)​.​
58 ·····​*/​59 ·····​*/​
59 ····​DJICameraModeMediaDow​nload·​=·​0x03,​60 ····​DJICameraModeMediaDow​nload·​=·​0x03,​
60 ····61 ····
64 ····​DJICameraModeUnknown·​=·​0xFF65 ····​DJICameraModeUnknown·​=·​0xFF
65 };​66 };​
66 67
67 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​68 /​*********************​*********************​*********************​******************/​
68 #pragma·​mark·​DJICameraShootPhotoMo​de69 #pragma·​mark·​DJICameraShootPhotoMo​de
69 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​70 /​*********************​*********************​*********************​******************/​
71
70 /​**72 /​**
71 ·​*··​The·​ShootPhoto·​mode·​itself·​can·​have·​several·​modes.​·​The·​default·​value·​is·​`DJICameraShootPhotoM​odeSingle`.​73 ·​*··​The·​ShootPhoto·​mode·​itself·​can·​have·​several·​modes.​·​The·​default·​value·​is·​`DJICameraShootPhotoM​odeSingle`.​
72 ·​*/​74 ·​*/​
112 ····​DJICameraShootPhotoMo​deTimeLapse114 ····​DJICameraShootPhotoMo​deTimeLapse
113 };​115 };​
114 116
115 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​117 /​*********************​*********************​*********************​******************/​
116 #pragma·​mark·​DJICameraExposureMode​118 #pragma·​mark·​DJICameraExposureMode​
117 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​119 /​*********************​*********************​*********************​******************/​
120
118 /​**121 /​**
119 ·​*··​Camera·​exposure·​modes.​·​The·​default·​value·​is·​`DJICameraExposureMod​eProgram`.​122 ·​*··​Camera·​exposure·​modes.​·​The·​default·​value·​is·​`DJICameraExposureMod​eProgram`.​
120 ·​*123 ·​*
162 #pragma·​mark·​-​·​Video·​Related165 #pragma·​mark·​-​·​Video·​Related
163 /​*********************​*********************​*********************​******************/​166 /​*********************​*********************​*********************​******************/​
164 167
165 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​168 /​*********************​*********************​*********************​******************/​
166 #pragma·​mark·​DJICameraVideoFileFor​mat169 #pragma·​mark·​DJICameraVideoFileFor​mat
167 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​170 /​*********************​*********************​*********************​******************/​
171
168 /​**172 /​**
169 ·​*··​Video·​storage·​formats.​173 ·​*··​Video·​storage·​formats.​
170 ·​*/​174 ·​*/​
183 ····​DJICameraVideoFileFor​matUnknown·​=·​0xFF187 ····​DJICameraVideoFileFor​matUnknown·​=·​0xFF
184 };​188 };​
185 189
186 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​190 /​*********************​*********************​*********************​******************/​
187 #pragma·​mark·​DJICameraVideoResolut​ion191 #pragma·​mark·​DJICameraVideoResolut​ion
188 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​192 /​*********************​*********************​*********************​******************/​
193
189 /​**194 /​**
190 ·​*··​Camera·​video·​resolution·​values.​·​The·​resolutions·​available·​for·​a·​product·​are·​in·​`supportedCameraVideo​ResolutionAndFrameRat​eRange`.​195 ·​*··​Camera·​video·​resolution·​values.​·​The·​resolutions·​available·​for·​a·​product·​are·​in·​`supportedCameraVideo​ResolutionAndFrameRat​eRange`.​
191 ·​*/​196 ·​*/​
216 ····​DJICameraVideoResolut​ionUnknown,​221 ····​DJICameraVideoResolut​ionUnknown,​
217 };​222 };​
218 223
219 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​224 /​*********************​*********************​*********************​******************/​
220 #pragma·​mark·​DJICameraVideoFrameRa​te225 #pragma·​mark·​DJICameraVideoFrameRa​te
221 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​226 /​*********************​*********************​*********************​******************/​
227
222 /​**228 /​**
223 ·​*··​Camera·​video·​frame·​rate·​values.​·​The·​frame·​rates·​available·​for·​a·​product·​are·​in·​`supportedCameraVideo​ResolutionAndFrameRat​eRange`.​229 ·​*··​Camera·​video·​frame·​rate·​values.​·​The·​frame·​rates·​available·​for·​a·​product·​are·​in·​`supportedCameraVideo​ResolutionAndFrameRat​eRange`.​
224 ·​*/​230 ·​*/​
257 ····​DJICameraVideoFrameRa​teUnknown·​=·​0xFF263 ····​DJICameraVideoFrameRa​teUnknown·​=·​0xFF
258 };​264 };​
259 265
260 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​266 /​*********************​*********************​*********************​******************/​
261 #pragma·​mark·​DJICameraVideoStandar​d267 #pragma·​mark·​DJICameraVideoStandar​d
262 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​268 /​*********************​*********************​*********************​******************/​
269
263 /​**270 /​**
264 ·​*··​Video·​standard·​values.​·​The·​default·​value·​is·​NTSC.​271 ·​*··​Video·​standard·​values.​·​The·​default·​value·​is·​NTSC.​
265 ·​*/​272 ·​*/​
282 #pragma·​mark·​-​·​Photo·​related289 #pragma·​mark·​-​·​Photo·​related
283 /​*********************​*********************​*********************​******************/​290 /​*********************​*********************​*********************​******************/​
284 291
285 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​292 /​*********************​*********************​*********************​******************/​
286 #pragma·​mark·​DJICameraPhotoFileFor​mat293 #pragma·​mark·​DJICameraPhotoFileFor​mat
287 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​294 /​*********************​*********************​*********************​******************/​
295
288 /​**296 /​**
289 ·​*··​Camera·​photo·​file·​formats.​·​The·​default·​value·​is·​`CameraPhotoJPEG`.​297 ·​*··​Camera·​photo·​file·​formats.​·​The·​default·​value·​is·​`CameraPhotoJPEG`.​
290 ·​*/​298 ·​*/​
311 ····​DJICameraPhotoFileFor​matUnknown·​=·​0xFF319 ····​DJICameraPhotoFileFor​matUnknown·​=·​0xFF
312 };​320 };​
313 321
314 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​322 /​*********************​*********************​*********************​******************/​
315 #pragma·​mark·​DJICameraPhotoTimeLap​seFileFormat323 #pragma·​mark·​DJICameraPhotoTimeLap​seFileFormat
316 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​324 /​*********************​*********************​*********************​******************/​
325
317 /​**326 /​**
318 ·​*··​File·​format·​for·​camera·​when·​it·​is·​in·​time-​lapse·​mode.​·​The327 ·​*··​File·​format·​for·​camera·​when·​it·​is·​in·​time-​lapse·​mode.​·​The
319 ·​*··​default·​file·​format·​is·​video.​·​If·​video+JPEG·​is·​selected·​the·​minimum·​interval·​will·​be·​2·​seconds.​328 ·​*··​default·​file·​format·​is·​video.​·​If·​video+JPEG·​is·​selected·​the·​minimum·​interval·​will·​be·​2·​seconds.​
333 ····​DJICameraPhotoTimeLap​seFileFormatUnknown·​=·​0xFF342 ····​DJICameraPhotoTimeLap​seFileFormatUnknown·​=·​0xFF
334 };​343 };​
335 344
336 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​345 /​*********************​*********************​*********************​******************/​
337 #pragma·​mark·​DJICameraPhotoQuality​346 #pragma·​mark·​DJICameraPhotoQuality​
338 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​347 /​*********************​*********************​*********************​******************/​
348
339 /​**349 /​**
340 ·​*··​Photo·​quality·​of·​the·​JPEG·​image.​·​Higher·​photo·​quality·​results·​in·​larger·​file·​size.​350 ·​*··​Photo·​quality·​of·​the·​JPEG·​image.​·​Higher·​photo·​quality·​results·​in·​larger·​file·​size.​
341 ·​*··​The·​default·​value·​is·​`CameraPhotoQualityEx​cellent`.​351 ·​*··​The·​default·​value·​is·​`CameraPhotoQualityEx​cellent`.​
359 ····​DJICameraPhotoQuality​Unknown·​=·​0xFF369 ····​DJICameraPhotoQuality​Unknown·​=·​0xFF
360 };​370 };​
361 371
362 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​372 /​*********************​*********************​*********************​******************/​
363 #pragma·​mark·​DJICameraPhotoAspectR​atio373 #pragma·​mark·​DJICameraPhotoAspectR​atio
364 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​374 /​*********************​*********************​*********************​******************/​
375
365 /​**376 /​**
366 ·​*··​Photo·​aspect·​ratio,​·​where·​the·​first·​value·​is·​the·​width·​and·​the377 ·​*··​Photo·​aspect·​ratio,​·​where·​the·​first·​value·​is·​the·​width·​and·​the
367 ·​*··​second·​value·​is·​the·​height.​·​The·​default·​value·​is·​`CameraPhotoRatio4_3`​.​378 ·​*··​second·​value·​is·​the·​height.​·​The·​default·​value·​is·​`CameraPhotoRatio4_3`​.​
382 };​393 };​
383 394
384 395
385 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​396 /​*********************​*********************​*********************​******************/​
386 #pragma·​mark·​DJICameraPhotoBurstCo​unt397 #pragma·​mark·​DJICameraPhotoBurstCo​unt
387 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​398 /​*********************​*********************​*********************​******************/​
399
388 /​**400 /​**
389 ·​*··​The·​number·​of·​photos·​taken·​in·​one·​burst·​shot·​(shooting·​photo·​in·​burst·​mode)​.​401 ·​*··​The·​number·​of·​photos·​taken·​in·​one·​burst·​shot·​(shooting·​photo·​in·​burst·​mode)​.​
390 ·​*/​402 ·​*/​
410 ····​DJICameraPhotoBurstCo​untUnknown·​=·​0xFF422 ····​DJICameraPhotoBurstCo​untUnknown·​=·​0xFF
411 };​423 };​
412 424
413 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​425 /​*********************​*********************​*********************​******************/​
414 #pragma·​mark·​DJICameraPhotoAEBPara​m426 #pragma·​mark·​DJICameraPhotoAEBPara​m
415 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​427 /​*********************​*********************​*********************​******************/​
428
416 /​**429 /​**
417 ·​*··​AEB·​continuous·​capture·​parameter·​values.​430 ·​*··​AEB·​continuous·​capture·​parameter·​values.​
418 ·​*/​431 ·​*/​
435 ····​uint8_t·​captureCount;​448 ····​uint8_t·​captureCount;​
436 }·​DJICameraPhotoAEBPara​m;​449 }·​DJICameraPhotoAEBPara​m;​
437 450
438 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​451 /​*********************​*********************​*********************​******************/​
439 #pragma·​mark·​DJICameraPhotoInterva​lParam452 #pragma·​mark·​DJICameraPhotoInterva​lParam
440 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​453 /​*********************​*********************​*********************​******************/​
454
441 /​**455 /​**
442 ·​*··​Sets·​the·​number·​of·​pictures,​·​and·​sets·​the·​time·​interval·​between·​pictures·​for·​the·​Interval·​shoot·​photo·​mode.​456 ·​*··​Sets·​the·​number·​of·​pictures,​·​and·​sets·​the·​time·​interval·​between·​pictures·​for·​the·​Interval·​shoot·​photo·​mode.​
443 ·​*/​457 ·​*/​
453 ····​/​**467 ····​/​**
454 ·····​*··​The·​time·​interval·​between·​when·​two·​photos·​are·​taken.​468 ·····​*··​The·​time·​interval·​between·​when·​two·​photos·​are·​taken.​
455 ·····​*··​The·​range·​for·​this·​parameter·​depends·​the·​photo·​file·​format(DJICameraPhoto​FileFormat)​.​469 ·····​*··​The·​range·​for·​this·​parameter·​depends·​the·​photo·​file·​format(DJICameraPhoto​FileFormat)​.​
456 ·····​*··​For·X5·camera·and·​X5R·​camera,​·​the·​range·​is·​[5,​·2^16·-​·1]·​seconds.​470 ·····​*··​For·​XT·​camera,​·​the·​range·​is·​[1,​·​60]·​seconds.​
457 ·····*··For·XT·camera,​·the·range·is·[1,​·60]·seconds.​·
458 ·····​*··​For·​all·​other·​products,​·​when·​the·​file·​format·​is·​JPEG,​·​the·​range·​is·​[2,​·​2^16·​-​·​1]·​seconds;​·​when·​the·​file·​format·​is·​RAW·​or·​RAW+JPEG,​·​the·​range·​is·​[10,​·​2^16·​-​·​1]·​seconds.​471 ·····​*··​For·​all·​other·​products,​·​when·​the·​file·​format·​is·​JPEG,​·​the·​range·​is·​[2,​·​2^16·​-​·​1]·​seconds;​·​when·​the·​file·​format·​is·​RAW·​or·​RAW+JPEG,​·​the·​range·​is·​[10,​·​2^16·​-​·​1]·​seconds.​
459 ·····​*/​472 ·····​*/​
460 ····​uint16_t·​timeIntervalInSeconds​;​473 ····​uint16_t·​timeIntervalInSeconds​;​
463 /​*********************​*********************​*********************​******************/​476 /​*********************​*********************​*********************​******************/​
464 #pragma·​mark·​-​·​Camera·​advanced·​settings477 #pragma·​mark·​-​·​Camera·​advanced·​settings
465 /​*********************​*********************​*********************​******************/​478 /​*********************​*********************​*********************​******************/​
466 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​479
480 /​*********************​*********************​*********************​******************/​
467 #pragma·​mark·​DJICameraShutterSpeed​481 #pragma·​mark·​DJICameraShutterSpeed​
468 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​482 /​*********************​*********************​*********************​******************/​
483
469 /​**484 /​**
470 ·​*··​Camera's·​shutter·​speed·​options.​485 ·​*··​Camera's·​shutter·​speed·​options.​
471 ·​*/​486 ·​*/​
709 };​724 };​
710 725
711 726
712 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​727 /​*********************​*********************​*********************​******************/​
713 #pragma·​mark·​DJICameraISO728 #pragma·​mark·​DJICameraISO
714 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​729 /​*********************​*********************​*********************​******************/​
730
715 /​**731 /​**
716 ·​*··​Camera·​ISO·​values.​732 ·​*··​Camera·​ISO·​values.​
717 ·​*/​733 ·​*/​
762 ····​DJICameraISOUnknown·​=·​0xFF778 ····​DJICameraISOUnknown·​=·​0xFF
763 };​779 };​
764 780
765 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​781 /​*********************​*********************​*********************​******************/​
766 #pragma·​mark·​DJICameraAperture782 #pragma·​mark·​DJICameraAperture
767 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​783 /​*********************​*********************​*********************​******************/​
784
768 /​**785 /​**
769 ·​*··​Camera·​aperture·​values.​·​Currently·​only·​the·​X5·​and·​X5R·​cameras·​support786 ·​*··​Camera·​aperture·​values.​·​Currently·​only·​the·​X5·​and·​X5R·​cameras·​support
770 ·​*··​this·​setting.​787 ·​*··​this·​setting.​
872 ····​DJICameraApertureUnkn​own·​=·​0xFF889 ····​DJICameraApertureUnkn​own·​=·​0xFF
873 };​890 };​
874 891
875 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​892 /​*********************​*********************​*********************​******************/​
876 #pragma·​mark·​DJICameraWhiteBalance​893 #pragma·​mark·​DJICameraWhiteBalance​
877 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​894 /​*********************​*********************​*********************​******************/​
895
878 /​**896 /​**
879 ·​*··​Camera·​white·​balance.​·​The·​default·​value·​is·​`CameraWhiteBalanceAu​to`.​897 ·​*··​Camera·​white·​balance.​·​The·​default·​value·​is·​`CameraWhiteBalanceAu​to`.​
880 ·​*/​898 ·​*/​
915 ····​DJICameraWhiteBalance​Unknown·​=·​0xFF933 ····​DJICameraWhiteBalance​Unknown·​=·​0xFF
916 };​934 };​
917 935
918 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​936 /​*********************​*********************​*********************​******************/​
919 #pragma·​mark·​DJICameraMeteringMode​937 #pragma·​mark·​DJICameraMeteringMode​
920 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​938 /​*********************​*********************​*********************​******************/​
939
921 /​**940 /​**
922 ·​*··​Camera·​exposure·​metering.​·​The·​default·​value·​is·​`CameraExposureMeteri​ngCenter`.​941 ·​*··​Camera·​exposure·​metering.​·​The·​default·​value·​is·​`CameraExposureMeteri​ngCenter`.​
923 ·​*/​942 ·​*/​
940 ····​DJICameraMeteringMode​Unknown·​=·​0xFF959 ····​DJICameraMeteringMode​Unknown·​=·​0xFF
941 };​960 };​
942 961
943 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​962 /​*********************​*********************​*********************​******************/​
944 #pragma·​mark·​DJICameraExposureComp​ensation963 #pragma·​mark·​DJICameraExposureComp​ensation
945 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​964 /​*********************​*********************​*********************​******************/​
965
946 /​**966 /​**
947 ·​*··​Camera·​exposure·​compensation.​967 ·​*··​Camera·​exposure·​compensation.​
948 ·​*/​968 ·​*/​
1077 ····​DJICameraExposureComp​ensationUnknown·​=·​0xFF1097 ····​DJICameraExposureComp​ensationUnknown·​=·​0xFF
1078 };​1098 };​
1079 1099
1080 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1100 /​*********************​*********************​*********************​******************/​
1081 #pragma·​mark·​DJICameraAntiFlicker1101 #pragma·​mark·​DJICameraAntiFlicker
1082 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1102 /​*********************​*********************​*********************​******************/​
1103
1083 /​**1104 /​**
1084 ·​*··​Camera·​anti-​flickers.​·​The·​default·​value·​is·​`CameraAntiFlicker50H​z`.​1105 ·​*··​Camera·​anti-​flickers.​·​The·​default·​value·​is·​`CameraAntiFlicker50H​z`.​
1085 ·​*/​1106 ·​*/​
1102 ····​DJICameraAntiFlickerU​nknown·​=·​0xFF1123 ····​DJICameraAntiFlickerU​nknown·​=·​0xFF
1103 };​1124 };​
1104 1125
1105 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1126 /​*********************​*********************​*********************​******************/​
1106 #pragma·​mark·​DJICameraSharpness1127 #pragma·​mark·​DJICameraSharpness
1107 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1128 /​*********************​*********************​*********************​******************/​
1129
1108 /​**1130 /​**
1109 ·​*··​Camera·​sharpnesss.​·​The·​default·​value·​is·​`CameraSharpnessStand​ard`.​1131 ·​*··​Camera·​sharpnesss.​·​The·​default·​value·​is·​`CameraSharpnessStand​ard`.​
1110 ·​*/​1132 ·​*/​
1127 ····​DJICameraSharpnessUnk​nown·​=·​0xFF1149 ····​DJICameraSharpnessUnk​nown·​=·​0xFF
1128 };​1150 };​
1129 1151
1130 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1152 /​*********************​*********************​*********************​******************/​
1131 #pragma·​mark·​DJICameraContrast1153 #pragma·​mark·​DJICameraContrast
1132 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1154 /​*********************​*********************​*********************​******************/​
1155
1133 /​**1156 /​**
1134 ·​*··​Camera·​contrast.​·​The·​default·​value·​is·​`CameraContrastStanda​rd`.​1157 ·​*··​Camera·​contrast.​·​The·​default·​value·​is·​`CameraContrastStanda​rd`.​
1135 ·​*/​1158 ·​*/​
1156 #pragma·​mark·​-​·​Lens·​related1179 #pragma·​mark·​-​·​Lens·​related
1157 /​*********************​*********************​*********************​******************/​1180 /​*********************​*********************​*********************​******************/​
1158 1181
1159 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1182 /​*********************​*********************​*********************​******************/​
1160 #pragma·​mark·​DJICameraLensFocusMod​e1183 #pragma·​mark·​DJICameraLensFocusMod​e
1161 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1184 /​*********************​*********************​*********************​******************/​
1185
1162 /​**1186 /​**
1163 ·​*··​Camera·​focus·​mode.​1187 ·​*··​Camera·​focus·​mode.​
1164 ·​*··​It·​is·​settable·​only·​when·​`IsAdjustableFocalPoi​ntSupported`·​returns·​YES·​and·​the·​physical·​AF·​switch·​on·​the·​camera·​is·​set·​to·​auto.​1188 ·​*··​It·​is·​settable·​only·​when·​`IsAdjustableFocalPoi​ntSupported`·​returns·​YES·​and·​the·​physical·​AF·​switch·​on·​the·​camera·​is·​set·​to·​auto.​
1184 #pragma·​mark·​-​·​Thermal·​Imaging·​Camera·​Related1208 #pragma·​mark·​-​·​Thermal·​Imaging·​Camera·​Related
1185 /​*********************​*********************​*********************​******************/​1209 /​*********************​*********************​*********************​******************/​
1186 1210
1187 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1211 /​*********************​*********************​*********************​******************/​
1188 #pragma·​mark·​DJICameraThermalROI·​(Region·​Of·​Interest)​1212 #pragma·​mark·​DJICameraThermalROI·​(Region·​Of·​Interest)​
1189 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1213 /​*********************​*********************​*********************​******************/​
1214
1190 /​**1215 /​**
1191 ·​*··​Region·​of·​interest.​·​Use·​this·​feature·​to·​manage·​color·​range·​distribution·​across·​the·​screen·​to·​maximize·​contrast·​for·​regions·​of·​highest·​interest.​1216 ·​*··​Region·​of·​interest.​·​Use·​this·​feature·​to·​manage·​color·​range·​distribution·​across·​the·​screen·​to·​maximize·​contrast·​for·​regions·​of·​highest·​interest.​
1192 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​·1217 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​·
1210 ····​DJICameraThermalROIUn​known·​=·​0xFF1235 ····​DJICameraThermalROIUn​known·​=·​0xFF
1211 };​1236 };​
1212 1237
1213 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1238 /​*********************​*********************​*********************​******************/​
1214 #pragma·​mark·​DJICameraThermalPalet​te1239 #pragma·​mark·​DJICameraThermalPalet​te
1215 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1240 /​*********************​*********************​*********************​******************/​
1241
1216 /​**1242 /​**
1217 ·​*··​The·​different·​colors·​are·​used·​to·​show·​various·​temperatures·​in·​the·​thermal·​imagery·​image.​·​The·​colors·​are·​not·​actually·​related·​to·​wavelengths·​of·​light,​·​but·​rather·​the·​grayscale·​intensity.​1243 ·​*··​The·​different·​colors·​are·​used·​to·​show·​various·​temperatures·​in·​the·​thermal·​imagery·​image.​·​The·​colors·​are·​not·​actually·​related·​to·​wavelengths·​of·​light,​·​but·​rather·​the·​grayscale·​intensity.​
1218 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​·1244 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​·
1280 ····​DJICameraThermalPalet​teUnknown·​=·​0xFF1306 ····​DJICameraThermalPalet​teUnknown·​=·​0xFF
1281 };​1307 };​
1282 1308
1283 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1309 /​*********************​*********************​*********************​******************/​
1284 #pragma·​mark·​DJICameraThermalScene​1310 #pragma·​mark·​DJICameraThermalScene​
1285 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1311 /​*********************​*********************​*********************​******************/​
1312
1286 /​**1313 /​**
1287 ·​*··​Uses·​the·​Scene·​option·​to·​instantly·​enhance·​your·​image.​1314 ·​*··​Uses·​the·​Scene·​option·​to·​instantly·​enhance·​your·​image.​
1288 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​·1315 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​·
1330 ····​DJICameraThermalScene​Unknown·​=·​0xFF1357 ····​DJICameraThermalScene​Unknown·​=·​0xFF
1331 };​1358 };​
1332 1359
1333 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1360 /​*********************​*********************​*********************​******************/​
1334 #pragma·​mark·​DJICameraThermalIsoth​ermUnit1361 #pragma·​mark·​DJICameraThermalIsoth​ermUnit
1335 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1362 /​*********************​*********************​*********************​******************/​
1363
1336 /​**1364 /​**
1337 ·​*··​The·​unit·​for·​Isotherm.​1365 ·​*··​The·​unit·​for·​Isotherm.​
1338 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​·1366 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​·
1352 ····​DJICameraThermalIsoth​ermUnitUnknown·​=·​0xFF1380 ····​DJICameraThermalIsoth​ermUnitUnknown·​=·​0xFF
1353 };​1381 };​
1354 1382
1355 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1383 /​*********************​*********************​*********************​******************/​
1356 #pragma·​mark·​DJICameraThermalGainM​ode1384 #pragma·​mark·​DJICameraThermalGainM​ode
1357 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1385 /​*********************​*********************​*********************​******************/​
1386
1358 /​**1387 /​**
1359 ·​*··​The·​gain·​mode.​1388 ·​*··​The·​gain·​mode.​
1360 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​·1389 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​·
1378 ····​DJICameraThermalGainM​odeUnknown·​=·​0xFF1407 ····​DJICameraThermalGainM​odeUnknown·​=·​0xFF
1379 };​1408 };​
1380 1409
1381 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1410 /​*********************​*********************​*********************​******************/​
1382 #pragma·​mark·​DJICameraThermalResol​ution1411 #pragma·​mark·​DJICameraThermalResol​ution
1383 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1412 /​*********************​*********************​*********************​******************/​
1413
1384 /​**1414 /​**
1385 ·​*··​The·​resolution·​of·​thermal·​imaging·​camera.​1415 ·​*··​The·​resolution·​of·​thermal·​imaging·​camera.​
1386 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​·1416 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​·
1400 ····​DJICameraThermalResol​utionUnknown·​=·​0xFF1430 ····​DJICameraThermalResol​utionUnknown·​=·​0xFF
1401 };​1431 };​
1402 1432
1403 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1433 /​*********************​*********************​*********************​******************/​
1404 #pragma·​mark·​DJICameraThermalFrame​RateUpperBound1434 #pragma·​mark·​DJICameraThermalFrame​RateUpperBound
1405 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1435 /​*********************​*********************​*********************​******************/​
1436
1406 /​**1437 /​**
1407 ·​*··​The·​frame·​rate·​upper·​bound·​supported·​by·​the·​thermal·​camera.​1438 ·​*··​The·​frame·​rate·​upper·​bound·​supported·​by·​the·​thermal·​camera.​
1408 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​·1439 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​·
1422 ····​DJICameraThermalFrame​RateUpperBoundUnknown​·​=·​0xFF1453 ····​DJICameraThermalFrame​RateUpperBoundUnknown​·​=·​0xFF
1423 };​1454 };​
1424 1455
1425 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1456 /​*********************​*********************​*********************​******************/​
1426 #pragma·​mark·​DJICameraThermalLens1457 #pragma·​mark·​DJICameraThermalLens
1427 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1458 /​*********************​*********************​*********************​******************/​
1459
1428 /​**1460 /​**
1429 ·​*··​The·​lens·​model·​of·​the·​thermal·​imaging·​camera.​1461 ·​*··​The·​lens·​model·​of·​the·​thermal·​imaging·​camera.​
1430 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​·1462 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​·
1456 ····​DJICameraThermalLensM​odelUnknown·​=·​0xFF1488 ····​DJICameraThermalLensM​odelUnknown·​=·​0xFF
1457 };​1489 };​
1458 1490
1459 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1491 /​*********************​*********************​*********************​******************/​
1460 #pragma·​mark·​DJICameraThermalProfi​le1492 #pragma·​mark·​DJICameraThermalProfi​le
1461 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1493 /​*********************​*********************​*********************​******************/​
1494
1462 /​**1495 /​**
1463 ·​*··​The·​profile·​of·​the·​thermal·​imaging·​camera,​·​which·​includes·​information·​about·​resolution,​·​frame·​rate·​and·​focal·​length.​1496 ·​*··​The·​profile·​of·​the·​thermal·​imaging·​camera,​·​which·​includes·​information·​about·​resolution,​·​frame·​rate·​and·​focal·​length.​
1464 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​1497 ·​*··​Supported·​only·​by·​thermal·​imaging·​cameras.​
1483 #pragma·​mark·​-​·​Others1516 #pragma·​mark·​-​·​Others
1484 /​*********************​*********************​*********************​******************/​1517 /​*********************​*********************​*********************​******************/​
1485 1518
1486 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1519 /​*********************​*********************​*********************​******************/​
1487 #pragma·​mark·​DJICameraFileIndexMod​e1520 #pragma·​mark·​DJICameraFileIndexMod​e
1488 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1521 /​*********************​*********************​*********************​******************/​
1522
1489 /​**1523 /​**
1490 ·​*··​File·​index·​modes.​1524 ·​*··​File·​index·​modes.​
1491 ·​*/​1525 ·​*/​
1506 ····​DJICameraFileIndexMod​eUnknown·​=·​0xFF1540 ····​DJICameraFileIndexMod​eUnknown·​=·​0xFF
1507 };​1541 };​
1508 1542
1509 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1543 /​*********************​*********************​*********************​******************/​
1510 #pragma·​mark·​DJICameraCustomSettin​gs1544 #pragma·​mark·​DJICameraCustomSettin​gs
1511 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1545 /​*********************​*********************​*********************​******************/​
1546
1512 /​**1547 /​**
1513 ·​*··​Camera·​user·​settings.​·​A·​user·​can·​save·​or·​load·​camera·​settings·​to·​or·​from·​the·​specified·​user.​1548 ·​*··​Camera·​user·​settings.​·​A·​user·​can·​save·​or·​load·​camera·​settings·​to·​or·​from·​the·​specified·​user.​
1514 ·​*/​1549 ·​*/​
1539 ····​DJICameraCustomSettin​gsUnknown·​=·​0xFF1574 ····​DJICameraCustomSettin​gsUnknown·​=·​0xFF
1540 };​1575 };​
1541 1576
1542 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1577 /​*********************​*********************​*********************​******************/​
1543 #pragma·​mark·​DJICameraDigitalFilte​r1578 #pragma·​mark·​DJICameraDigitalFilte​r
1544 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1579 /​*********************​*********************​*********************​******************/​
1580
1545 /​**1581 /​**
1546 ·​*··​Camera·​digital·​filters.​·​The·​default·​value·​is·​`DJICameraDigitalFilt​erNone`.​1582 ·​*··​Camera·​digital·​filters.​·​The·​default·​value·​is·​`DJICameraDigitalFilt​erNone`.​
1547 ·​*/​1583 ·​*/​
1575 ·····​*/​1611 ·····​*/​
1576 ····​DJICameraDigitalFilte​rMovie,​1612 ····​DJICameraDigitalFilte​rMovie,​
1577 ····​/​**1613 ····​/​**
1578 ·····​*··​This·​digital·​filter·​is·currently·not·​supported.​1614 ·····​*·​The·​digital·​filter·​is·set·to·portrait.​·Only·​supported·by·OSMO·with·X3·camera.​
1579 ·····​*/​1615 ·····​*/​
1580 ····​DJICameraDigitalFilte​rPunk,​1616 ····​DJICameraDigitalFilte​rPortrait,​
1581 ····​/​**1617 ····​/​**
1582 ·····​*··​This·​digital·​filter·​is·​currently·​not·​supported.​1618 ·····​*··​This·​digital·​filter·​is·​currently·​not·​supported.​
1583 ·····​*/​1619 ·····​*/​
1648 ····​DJICameraDigitalFilte​rUnknown·​=·​0xFF1684 ····​DJICameraDigitalFilte​rUnknown·​=·​0xFF
1649 };​1685 };​
1650 1686
1651 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1687 /​*********************​*********************​*********************​******************/​
1652 #pragma·​mark·​DJICameraThermalDigit​alZoomScale1688 #pragma·​mark·​DJICameraThermalDigit​alZoomScale
1653 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1689 /​*********************​*********************​*********************​******************/​
1690
1654 /​**1691 /​**
1655 ·​*··​Camera·​Thermal·​Digital·​Zoom·​Scale.​·​The·​default·​value·​is·​`DJICameraThermalDigi​talZoomScalex1`.​1692 ·​*··​Camera·​Thermal·​Digital·​Zoom·​Scale.​·​The·​default·​value·​is·​`DJICameraThermalDigi​talZoomScalex1`.​
1656 ·​*/​1693 ·​*/​
1677 ····​DJICameraThermalDigit​alZoomScaleUnknown·​=·​0xFF1714 ····​DJICameraThermalDigit​alZoomScaleUnknown·​=·​0xFF
1678 };​1715 };​
1679 1716
1680 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1717 /​*********************​*********************​*********************​******************/​
1681 #pragma·​mark·​DJIDownloadFileType1718 #pragma·​mark·​DJIDownloadFileType
1682 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1719 /​*********************​*********************​*********************​******************/​
1720
1683 /​**1721 /​**
1684 ·​*··​Download·​file·​types.​·​This·​typedef·​is·​only·​supported·​for·​the·​Phantom·​31722 ·​*··​Download·​file·​types.​·​This·​typedef·​is·​only·​supported·​for·​the·​Phantom·​3
1685 ·​*··​Professional·​and·​the·​Inspire·​1.​1723 ·​*··​Professional·​and·​the·​Inspire·​1.​
diff --git a/Headers/DJIFlightController.h b/Headers/DJIFlightController.h
index b33d479..c055cf8 100644
3.1.1/​Headers/​DJIFlightController.​h3.2/​Headers/​DJIFlightController.​h
15 @class·​DJIFlightLimitation;​15 @class·​DJIFlightLimitation;​
16 @class·​DJILandingGear;​16 @class·​DJILandingGear;​
17 @class·​DJICompass;​17 @class·​DJICompass;​
18 @class·​DJIRTK;​
18 @class·​DJIIntelligentFlightA​ssistant;​19 @class·​DJIIntelligentFlightA​ssistant;​
20 @class·​DJISimulator;​
19 21
20 NS_ASSUME_NONNULL_BEG​IN22 NS_ASSUME_NONNULL_BEG​IN
21 23
34 ·​*··​aircraft·​enters·​a·​no·​fly·​zone,​·​it·​will·​stop·​and·​hover36 ·​*··​aircraft·​enters·​a·​no·​fly·​zone,​·​it·​will·​stop·​and·​hover
35 ·​*··​at·​the·​border.​37 ·​*··​at·​the·​border.​
36 ·​*/​38 ·​*/​
37 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​39
40 /​*********************​*********************​*********************​******************/​
38 #pragma·​mark·​DJINoFlyZone41 #pragma·​mark·​DJINoFlyZone
39 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​42 /​*********************​*********************​*********************​******************/​
43
40 /​**44 /​**
41 ·​*··​Defines·​the·​No·​Fly·​Zone·​Data·​structure.​45 ·​*··​Defines·​the·​No·​Fly·​Zone·​Data·​structure.​
42 ·​*/​46 ·​*/​
43 typedef·​struct47 typedef·​struct
44 {48 {
45 ····​/​**49 ····​/​**
46 ·····​*··​Radius·​of·​No·​Fly·​Zone·​in·​meters.​50 ·····​*··​Radius·​of·the·​No·​Fly·​Zone·​in·​meters.​
47 ·····​*/​51 ·····​*/​
48 ····​float·​zoneRadius;​52 ····​float·​zoneRadius;​
49 ····​/​**53 ····​/​**
50 ·····​*··​Center·​Coordinate·​of·​No·​Fly·​Zone.​54 ·····​*··​Center·​Coordinate·​of·the·​No·​Fly·​Zone.​
51 ·····​*/​55 ·····​*/​
52 ····​CLLocationCoordinate2​D·​zoneCenterCoordinate;​56 ····​CLLocationCoordinate2​D·​zoneCenterCoordinate;​
53 }·​DJINoFlyZone;​57 }·​DJINoFlyZone;​
54 58
55 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​59 /​*********************​*********************​*********************​******************/​
56 #pragma·​mark·​DJIFlightControl60 #pragma·​mark·​DJIFlightControl
57 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​61 /​*********************​*********************​*********************​******************/​
58 62
59 /​**63 /​**
60 ·​*··​Flight·​control·​coordinate·​system.​64 ·​*··​Flight·​control·​coordinate·​system.​
189 };​193 };​
190 194
191 /​**195 /​**
192 ·​*·Contains·​all·the·virtual·stick·control·data·needed·to·move·​the·​aircraft·​in·all·directions196 ·​*··Defines·​aircraft·failsafe·action·when·signal·between·the·remote·controller·and·​the·​aircraft·​is·​lost.​
197 ·​*/​
198 typedef·​NS_ENUM·​(uint8_t,​·​DJIFlightFailsafeOper​ation)​{
199 ····​/​**
200 ·····​*··​Hover
201 ·····​*/​
202 ····​DJIFlightFailsafeOper​ationHover,​
203 ····​/​**
204 ·····​*··​Landing
205 ·····​*/​
206 ····​DJIFlightFailsafeOper​ationLanding,​
207 ····​/​**
208 ·····​*··​Return-​to-​Home
209 ·····​*/​
210 ····​DJIFlightFailsafeOper​ationGoHome,​
211 ····​/​**
212 ·····​*··​Unknown
213 ·····​*/​
214 ····​DJIFlightFailsafeOper​ationUnknown·​=·​0xFF
215 };​
216
217
218 /​**
219 ·​*··​Contains·​all·​the·​virtual·​stick·​control·​data·​needed·​to·​move·​the·​aircraft·​in·​all·​directions
193 ·​*/​220 ·​*/​
194 typedef·​struct221 typedef·​struct
195 {222 {
237 ·​*··​@param·​fc····​Instance·​of·​the·​flight·​controller·​for·​which·​the·​data·​will·​be·​updated.​264 ·​*··​@param·​fc····​Instance·​of·​the·​flight·​controller·​for·​which·​the·​data·​will·​be·​updated.​
238 ·​*··​@param·​state·​Current·​state·​of·​the·​flight·​controller.​265 ·​*··​@param·​state·​Current·​state·​of·​the·​flight·​controller.​
239 ·​*/​266 ·​*/​
240 -​·​(void)​flightController:​(DJIFlightController·​*)​fc·​didUpdateSystemState:​(DJIFlightControllerC​urrentState·​*)​state;​267 -​·​(void)​flightController:​(DJIFlightController·​*·_Nonnull)​fc·​didUpdateSystemState:​(DJIFlightControllerC​urrentState·​*_Nonnull)​state;​
241 268
242 /​**269 /​**
243 ·​*··​Callback·​function·​that·​updates·​the·​data·​received·​from·​an·​external·​device·​(e.​g.​·​the·​onboard·​device)​.​270 ·​*··​Callback·​function·​that·​updates·​the·​data·​received·​from·​an·​external·​device·​(e.​g.​·​the·​onboard·​device)​.​
247 ·​*··​@param·​data··​Data·​received·​from·​an·​external·​device.​·​The·​size·​of·​the·​data·​will·​not·​be·​larger274 ·​*··​@param·​data··​Data·​received·​from·​an·​external·​device.​·​The·​size·​of·​the·​data·​will·​not·​be·​larger
248 ·​*··​than·​100·​bytes.​275 ·​*··​than·​100·​bytes.​
249 ·​*/​276 ·​*/​
250 -​·​(void)​flightController:​(DJIFlightController·​*)​fc·​didReceiveDataFromExt​ernalDevice:​(NSData·​*)​data;​277 -​·​(void)​flightController:​(DJIFlightController·​*_Nonnull)​fc·​didReceiveDataFromExt​ernalDevice:​(NSData·​*_Nonnull)​data;​
251 278
252 /​**279 /​**
253 ·​*··​Update·​IMU·​State.​280 ·​*··​Update·​IMU·​State.​
256 ·​*··​@param·​imuState·​DJIIMUState·​object.​283 ·​*··​@param·​imuState·​DJIIMUState·​object.​
257 ·​*284 ·​*
258 ·​*/​285 ·​*/​
259 -​·​(void)​flightController:​(DJIFlightController·​*)​fc·​didUpdateIMUState:​(DJIIMUState·​*)​imuState;​286 -​·​(void)​flightController:​(DJIFlightController·​*_Nonnull)​fc·​didUpdateIMUState:​(DJIIMUState·​*_Nonnull)​imuState;​
260 287
261 @end288 @end
262 289
278 ·​*··​Flight·​limitation·​object.​·​This·​object·​sets,​·​gets·​and·​tracks·​the·​state·​of·​the·​maximum·​flight·​height305 ·​*··​Flight·​limitation·​object.​·​This·​object·​sets,​·​gets·​and·​tracks·​the·​state·​of·​the·​maximum·​flight·​height
279 ·​*··​and·​radius·​allowed.​306 ·​*··​and·​radius·​allowed.​
280 ·​*/​307 ·​*/​
281 @property(nonatomic,​·​readonly)​·​DJIFlightLimitation·​*flightLimitation;​308 @property(nonatomic,​·​readonly)​·​DJIFlightLimitation·​*·_Nullable·flightLimitation;​
282 309
283 /​**310 /​**
284 ·​*··​Landing·​Gear·​object.​·​For·​products·​with·​moveable·​landing·​gear·​only.​311 ·​*··​Landing·​Gear·​object.​·​For·​products·​with·​moveable·​landing·​gear·​only.​·
312 ·​*··​It·​is·​supported·​by·​Inspire·​1·​and·​Matrice·​600.​·
285 ·​*/​313 ·​*/​
286 @property(nonatomic,​·​readonly)​·​DJILandingGear·​*landingGear;​314 @property(nonatomic,​·​readonly)​·​DJILandingGear·​*·_Nullable·landingGear;​
287 315
288 /​**316 /​**
289 ·​*··​Compass·​object.​317 ·​*··​Compass·​object.​
290 ·​*/​318 ·​*/​
291 @property(nonatomic,​·​readonly)​·​DJICompass·​*compass;​319 @property(nonatomic,​·​readonly)​·​DJICompass·​*·_Nullable·compass;​
320
321 /​**
322 ·​*··​RTK·​positioning·​object.​
323 ·​*/​
324 @property(nonatomic,​·​readonly)​·​DJIRTK·​*·​_Nullable·​rtk;​
292 325
293 /​**326 /​**
294 ·​*··​Intelligent·​flight·​assistant.​327 ·​*··​Intelligent·​flight·​assistant.​
295 ·​*/​328 ·​*/​
296 @property(nonatomic,​·​readonly)​·​DJIIntelligentFlightA​ssistant*·​intelligentFlightAssi​stant;​329 @property(nonatomic,​·​readonly)​·​DJIIntelligentFlightA​ssistant·*·_Nullable·​intelligentFlightAssi​stant;​
330
331 /​**
332 ·​*··​Simulator·​object.​
333 ·​*/​
334 @property(nonatomic,​·​readonly)​·​DJISimulator·​*·​_Nullable·​simulator;​
297 335
298 /​**336 /​**
299 ·​*··​The·​number·​of·​IMU·​module·​in·​the·​flight·​controller.​337 ·​*··​The·​number·​of·​IMU·​module·​in·​the·​flight·​controller.​
318 ·​*··​Roll/​Pitch·​control·​coordinate·​system.​356 ·​*··​Roll/​Pitch·​control·​coordinate·​system.​
319 ·​*/​357 ·​*/​
320 @property(nonatomic,​·​assign)​·​DJIVirtualStickFlight​CoordinateSystem·​rollPitchCoordinateSy​stem;​358 @property(nonatomic,​·​assign)​·​DJIVirtualStickFlight​CoordinateSystem·​rollPitchCoordinateSy​stem;​
359 /​**
360 ·​*··​`YES`·​if·​Virtual·​Stick·​advanced·​mode·​is·​enabled.​·​By·​default,​·​it·​is·​`NO`.​·
361 ·​*··​When·​advanced·​mode·​is·​enabled,​·​the·​aircraft·​will·​compensate·​for·​wind·​when·​hovering·​and·​the·​GPS·​signal·​is·​good.​·
362 ·​*··​For·​the·​Phantom·​4,​·​collision·​avoidance·​can·​be·​enabled·​for·​virtual·​stick·​control·​if·​advanced·​mode·​is·​on,​·​and·​collision·​avoidance·​is·​enabled·​in·​`DJIIntelligentFlight​Assistant`.​
363 ·​*
364 ·​*··​It·​is·​only·​supported·​by·​flight·​controller·​firmware·​versions·​3.​1.​x.​x·​or·​above.​
365 ·​*/​
366 @property(nonatomic,​·​assign)​·​BOOL·​virtualStickAdvancedM​odeEnabled;​
321 367
322 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​368 /​*********************​*********************​*********************​******************/​
323 #pragma·​mark·​Methods369 #pragma·​mark·​Methods
324 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​370 /​*********************​*********************​*********************​******************/​
371
372 /​**
373 ·​*··​YES·​if·​the·​landing·​gear·​is·​supported·​for·​the·​connected·​aircraft.​
374 ·​*/​
375 -​·​(BOOL)​isLandingGearMovable;​
376
325 /​**377 /​**
326 ·​*··​Starts·​aircraft·​takeoff.​·​Takeoff·​is·​considered·​complete·​when·​the·​aircraft·​is·​hovering·​1.​2·​meters·​(4·​feet)​378 ·​*··​Starts·​aircraft·​takeoff.​·​Takeoff·​is·​considered·​complete·​when·​the·​aircraft·​is·​hovering·​1.​2·​meters·​(4·​feet)​
327 ·​*··​above·​the·​ground.​·​Completion·​block·​is·​called·​when·​aircraft·​crosses·​0.​5·​meters·​(1.​6·​feet)​.​379 ·​*··​above·​the·​ground.​·​Completion·​block·​is·​called·​when·​aircraft·​crosses·​0.​5·​meters·​(1.​6·​feet)​.​
409 ·​*··​Gets·​the·​home·​point·​of·​the·​aircraft.​461 ·​*··​Gets·​the·​home·​point·​of·​the·​aircraft.​
410 ·​*462 ·​*
411 ·​*/​463 ·​*/​
412 -​·​(void)​getHomeLocationWithCo​mpletion:​(void·​(^)​(CLLocationCoordinate​2D·​homePoint,​·​NSError·​*_Nullable·​error)​)​completion;​464 -​·​(void)​getHomeLocationWithCo​mpletion:​(void·​(^_Nonnull)​(CLLocationCoordinate​2D·​homePoint,​·​NSError·​*_Nullable·​error)​)​completion;​
413 465
414 /​**466 /​**
415 ·​*··​Sets·​the·​minimum·​altitude,​·​relative·​to·​where·​the·​aircraft·​took·​off,​·​at·​which·​the·​the·​aircraft·​must·​be·​before·​going467 ·​*··​Sets·​the·​minimum·​altitude,​·​relative·​to·​where·​the·​aircraft·​took·​off,​·​at·​which·​the·​the·​aircraft·​must·​be·​before·​going
427 ·​*479 ·​*
428 ·​*··​@param·​completion·​Completion·​block.​480 ·​*··​@param·​completion·​Completion·​block.​
429 ·​*/​481 ·​*/​
430 -​·​(void)​getGoHomeAltitudeWith​Completion:​(void·​(^)​(float·​altitude,​·​NSError·​*_Nullable·​error)​)​completion;​482 -​·​(void)​getGoHomeAltitudeWith​Completion:​(void·​(^_Nonnull)​(float·​altitude,​·​NSError·​*_Nullable·​error)​)​completion;​
483
484 /​**
485 ·​*··​Sets·​the·​FailSafe·​action·​for·​when·​the·​connection·​between·​remote·​controller·​and·​aircraft·​is·​lost.​
486 ·​*
487 ·​*··​@param·​operation····​The·​Failsafe·​action.​
488 ·​*··​@param·​completion···​Completion·​block.​
489 ·​*/​
490 -​·​(void)​setFlightFailsafeOper​ation:​(DJIFlightFailsafeOpe​ration)​operation·​withCompletion:​(DJICompletionBlock)​completion;​
431 491
432 /​**492 /​**
493 ·​*·​Gets·​the·​FailSafe·​action·​for·​when·​the·​connection·​between·​remote·​controller·​and·​aircraft·​is·​lost.​
494 ·​*/​
495 -​·​(void)​getFlightFailsafeOper​ationWithCompletion:​(void(^_Nonnull)​(DJIFlightFailsafeOpe​ration·​operation,​·​NSError*·​_Nullable·​error)​)​completion;​
496 /​**
433 ·​*··​Check·​if·​the·​onboard·​SDK·​device·​is·​available.​497 ·​*··​Check·​if·​the·​onboard·​SDK·​device·​is·​available.​
434 ·​*/​498 ·​*/​
435 -​·​(BOOL)​isOnboardSDKDeviceAva​ilable;​499 -​·​(BOOL)​isOnboardSDKDeviceAva​ilable;​
441 ·​*··​@param·​completion·​Completion·​block.​505 ·​*··​@param·​completion·​Completion·​block.​
442 ·​*506 ·​*
443 ·​*/​507 ·​*/​
444 -​·​(void)​sendDataToOnboardSDKD​evice:​(NSData·​*)​data·​withCompletion:​(DJICompletionBlock)​completion;​508 -​·​(void)​sendDataToOnboardSDKD​evice:​(NSData·​*_Nonnull)​data·​withCompletion:​(DJICompletionBlock)​completion;​
445 509
446 /​**510 /​**
447 ·​*··​Sets·​the·​low·​battery·​go·​home·​percentage·​threshold.​·​The·​percentage·​must·​be·​in·​the·​range·​[25,​·​50].​511 ·​*··​Sets·​the·​low·​battery·​go·​home·​percentage·​threshold.​·​The·​percentage·​must·​be·​in·​the·​range·​[25,​·​50].​
448 ·​*512 ·​*
449 ·​*··​@param·​percent·Go·home·battery·​percentage.​513 ·​*··​@param·​percent·Low·battery·warning·​percentage.​
450 ·​*··​@param·​completion···​Completion·​block.​514 ·​*··​@param·​completion···​Completion·​block.​
451 ·​*/​515 ·​*/​
452 -​·​(void)​setGoHomeBatteryThres​hold:​(uint8_t)​percent·​withCompletion:​(DJICompletionBlock)​completion;​516 -​·​(void)​setGoHomeBatteryThres​hold:​(uint8_t)​percent·​withCompletion:​(DJICompletionBlock)​completion;​
456 ·​*··​in·​the·​range·​[25,​·​50].​520 ·​*··​in·​the·​range·​[25,​·​50].​
457 ·​*521 ·​*
458 ·​*/​522 ·​*/​
459 -​·​(void)​getGoHomeBatteryThres​holdWithCompletion:​(void·​(^)​(uint8_t·​percent,​·​NSError·​*_Nullable·​error)​)​completion;​523 -​·​(void)​getGoHomeBatteryThres​holdWithCompletion:​(void·​(^_Nonnull)​(uint8_t·​percent,​·​NSError·​*_Nullable·​error)​)​completion;​
460 524
461 /​**525 /​**
462 ·​*··​Sets·​the·​serious·​battery·​land·​immediately·​percentage·​threshold.​·​The·​percentage·​must·​be·​in·​the526 ·​*··​Sets·​the·​serious·​battery·​land·​immediately·​percentage·​threshold.​·​The·​percentage·​must·​be·​in·​the
463 ·​*··​range·​[10,​·​25].​527 ·​*··​range·​[10,​·​25].​
464 ·​*528 ·​*
465 ·​*··​@param·​percent·Land·immediately·battery·​percentage.​529 ·​*··​@param·​percent·Serious·low·battery·warning·​percentage.​
466 ·​*··​@param·​completion···​Completion·​block.​530 ·​*··​@param·​completion···​Completion·​block.​
467 ·​*/​531 ·​*/​
468 -​·​(void)​setLandImmediatelyBat​teryThreshold:​(uint8_t)​percent·​withCompletion:​(DJICompletionBlock)​completion;​532 -​·​(void)​setLandImmediatelyBat​teryThreshold:​(uint8_t)​percent·​withCompletion:​(DJICompletionBlock)​completion;​
472 ·​*··​be·​in·​the·​range·​[10,​·​25].​536 ·​*··​be·​in·​the·​range·​[10,​·​25].​
473 ·​*537 ·​*
474 ·​*/​538 ·​*/​
475 -​·​(void)​getLandImmediatelyBat​teryThresholdWithComp​letion:​(void·​(^)​(uint8_t·​percent,​·​NSError·​*_Nullable·​error)​)​completion;​539 -​·​(void)​getLandImmediatelyBat​teryThresholdWithComp​letion:​(void·​(^_Nonnull)​(uint8_t·​percent,​·​NSError·​*_Nullable·​error)​)​completion;​
476 540
477 /​**541 /​**
478 ·​*··​Start·​the·​calibration·​for·​IMU.​·​For·Phantom·4,​·​this·​method·​will·​start·​the·​calibration·​for·two·​IMUs.​·​Please·​keep·​stationary·​and·​horizontal·​during·​calibration.​·​The·​calibration·​will·​take·​5·​~·​10·​minutes.​·​The·​completion·​block·​will·​be·​called·​once·​the·​calibration·​is·​started.​·​Please·​use·​the·​[flightController:​didUpdateIMUState:​]·​method·​in·​'DJIFlightControllerD​elegate'·​to·​check·​the·​execution·​status·​of·​the·​IMU·​calibration.​542 ·​*··​Start·​the·​calibration·​for·​IMU.​·​For·aircrafts·with·multiple·IMUs,​·​this·​method·​will·​start·​the·​calibration·​for·all·​IMUs.​·​Please·​keep·​stationary·​and·​horizontal·​during·​calibration.​·​The·​calibration·​will·​take·​5·​~·​10·​minutes.​·​The·​completion·​block·​will·​be·​called·​once·​the·​calibration·​is·​started.​·​Please·​use·​the·​[flightController:​didUpdateIMUState:​]·​method·​in·​'DJIFlightControllerD​elegate'·​to·​check·​the·​execution·​status·​of·​the·​IMU·​calibration.​
479 ·*
480 ·*··@param·completion·Completion·block.​
481 ·​*543 ·​*
544 ·​*··​@param·​completion·​Completion·​block·​to·​check·​if·​the·​calibration·​starts·​successfully.​
482 ·​*/​545 ·​*/​
483 -​·​(void)​startIMUCalibrationWi​thCompletion:​(DJICompletionBlock)​completion;​546 -​·​(void)​startIMUCalibrationWi​thCompletion:​(DJICompletionBlock)​completion;​
484 547
548 /​**
549 ·​*··​Start·​the·​calibration·​for·​IMU·​with·​a·​specific·​ID.​·​Please·​keep·​stationary·​and·​horizontal·​during·​calibration.​·​The·​calibration·​will·​take·​5·​~·​10·​minutes.​·​The·​completion·​block·​will·​be·​called·​once·​the·​calibration·​is·​started.​·​Use·​the·​[flightController:​didUpdateIMUState:​]·​method·​in·​`DJIFlightControllerD​elegate`·​to·​check·​the·​execution·​status·​of·​the·​IMU·​calibration.​
550 ·​*··​Only·​supported·​by·​Matrice·​600.​
551 ·​*
552 ·​*··​@param·​imuID········​The·​IMU·​with·​the·​specific·​ID·​to·​calibrate.​
553 ·​*··​@param·​completion···​Completion·​block·​to·​check·​if·​the·​calibration·​starts·​successfully.​
554 ·​*/​
555 -​·​(void)​startIMUCalibrationFo​rID:​(NSUInteger)​imuID·​withCompletion:​(DJICompletionBlock)​completion;​
556
557 /​**
558 ·​*··​Turns·​on/​off·​the·​LEDs·​in·​the·​front.​·​The·​LEDs·​are·​used·​to·​indicate·​the·​status·​of·​the·​aircraft.​·​By·​default,​·​it·​is·​on.​
559 ·​*··​It·​is·​only·​supported·​by·​Phantom·​3·​series·​and·​Phantom·​4.​
560 ·​*
561 ·​*··​@param·​enabled······​`YES`·​to·​turn·​on·​the·​front·​LEDs,​·​`NO`·​to·​trun·​off.​
562 ·​*··​@param·​completion···​Completion·​block·​that·​receives·​the·​getter·​execution·​result.​
563 ·​*/​
564 -​·​(void)​setLEDsEnabled:​(BOOL)​enabled·​withCompletion:​(DJICompletionBlock)​completion;​
565
566 /​**
567 ·​*··​Gets·​if·​the·​LEDs·​in·​the·​front·​is·​enabled·​or·​not.​
568 ·​*··​It·​is·​only·​supported·​by·​Phantom·​3·​series·​and·​Phantom·​4.​
569 ·​*
570 ·​*··​@param·​completion·​Completion·​block·​that·​receives·​the·​getter·​execution·​result.​
571 ·​*/​
572 -​·​(void)​getLEDsEnabled:​(void·​(^_Nonnull)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​completion;​
573
485 @end574 @end
486 575
487 /​**576 /​**
diff --git a/Headers/DJIFlightControllerCurrentState.h b/Headers/DJIFlightControllerCurrentState.h
index 692e86f..463e4d8 100644
3.1.1/​Headers/​DJIFlightControllerCu​rrentState.​h3.2/​Headers/​DJIFlightControllerCu​rrentState.​h
14 #pragma·​mark·​-​·​Data·​Structs·​and·​Enums14 #pragma·​mark·​-​·​Data·​Structs·​and·​Enums
15 /​*********************​*********************​*********************​******************/​15 /​*********************​*********************​*********************​******************/​
16 16
17 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​17 /​*********************​*********************​*********************​******************/​
18 #pragma·​mark·​DJIAttitude18 #pragma·​mark·​DJIAttitude
19 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​19 /​*********************​*********************​*********************​******************/​
20
20 /​**21 /​**
21 ·​*··​Aircraft·​attitude.​·​The·​attitude·​of·​the·​aircraft·​is·​made·​up·​of·​the·​pitch,​·​roll,​·​and·​yaw.​22 ·​*··​Aircraft·​attitude.​·​The·​attitude·​of·​the·​aircraft·​is·​made·​up·​of·​the·​pitch,​·​roll,​·​and·​yaw.​
22 ·​*/​23 ·​*/​
36 ····​double·​yaw;​37 ····​double·​yaw;​
37 }·​DJIAttitude;​38 }·​DJIAttitude;​
38 39
39 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​40 /​*********************​*********************​*********************​******************/​
40 #pragma·​mark·​DJIFlightControllerFl​ightMode41 #pragma·​mark·​DJIFlightControllerFl​ightMode
41 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​42 /​*********************​*********************​*********************​******************/​
43
42 /​**44 /​**
43 ·​*··​Flight·​controller·​flight·​modes.​·​For·​more·​information,​·​see·​http:​/​/​wiki.​dji.​com/​en/​index.​php/​Phantom_3_Professiona​l-​Aircraft.​45 ·​*··​Flight·​controller·​flight·​modes.​·​For·​more·​information,​·​see·​http:​/​/​wiki.​dji.​com/​en/​index.​php/​Phantom_3_Professiona​l-​Aircraft.​
44 ·​*46 ·​*
150 ····​DJIFlightControllerFl​ightModeUnknown·​=·​0xFF,​152 ····​DJIFlightControllerFl​ightModeUnknown·​=·​0xFF,​
151 };​153 };​
152 154
153 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​155 /​*********************​*********************​*********************​******************/​
154 #pragma·​mark·​DJIFlightControllerGo​HomeExecutionStatus156 #pragma·​mark·​DJIFlightControllerGo​HomeExecutionStatus
155 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​157 /​*********************​*********************​*********************​******************/​
158
156 /​**159 /​**
157 ·​*··​A·​class·​used·​to·​identify·​the·​different·​stages·​of·​the·​go-​home·​command.​160 ·​*··​A·​class·​used·​to·​identify·​the·​different·​stages·​of·​the·​go-​home·​command.​
158 ·​*/​161 ·​*/​
218 ····​DJIFlightOrientationM​odeDefaultAircraftHea​ding,​221 ····​DJIFlightOrientationM​odeDefaultAircraftHea​ding,​
219 };​222 };​
220 223
221 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​224 /​*********************​*********************​*********************​******************/​
222 #pragma·​mark·​DJIFlightControllerNo​FlyStatus225 #pragma·​mark·​DJIFlightControllerNo​FlyStatus
223 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​226 /​*********************​*********************​*********************​******************/​
227
224 /​**228 /​**
225 ·​*··​No·​fly·​status.​·​See·​http:​/​/​wiki.​dji.​com/​en/​index.​php/​Phantom_3_Professiona​l-​_Flight_Limits_and_No​-​Fly_Zones·​for·​more·​information·​on·​no·​fly·​zones.​229 ·​*··​No·​fly·​status.​·​See·​http:​/​/​wiki.​dji.​com/​en/​index.​php/​Phantom_3_Professiona​l-​_Flight_Limits_and_No​-​Fly_Zones·​for·​more·​information·​on·​no·​fly·​zones.​
226 ·​*/​230 ·​*/​
265 ····​DJIFlightControllerNo​FlyStatusUnknownStatu​s,​269 ····​DJIFlightControllerNo​FlyStatusUnknownStatu​s,​
266 };​270 };​
267 271
268 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​272 /​*********************​*********************​*********************​******************/​
269 #pragma·​mark·​DJIGPSSignalStatus273 #pragma·​mark·​DJIGPSSignalStatus
270 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​274 /​*********************​*********************​*********************​******************/​
275
271 /​**276 /​**
272 ·​*··​GPS·​signal·​levels,​·​which·​are·​used·​to·​measure·​the·​signal·​quality.​277 ·​*··​GPS·​signal·​levels,​·​which·​are·​used·​to·​measure·​the·​signal·​quality.​
273 ·​*/​278 ·​*/​
305 ····​DJIGPSSignalStatusNon​e,​310 ····​DJIGPSSignalStatusNon​e,​
306 };​311 };​
307 312
308 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​313 /​*********************​*********************​*********************​******************/​
309 #pragma·​mark·​DJIFlightControllerSm​artGoHomeStatus314 #pragma·​mark·​DJIFlightControllerSm​artGoHomeStatus
310 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​315 /​*********************​*********************​*********************​******************/​
316
311 /​**317 /​**
312 ·​*··​The·​Flight·​Controller·​Smart·​Go·​Home·​Status318 ·​*··​The·​Flight·​Controller·​Smart·​Go·​Home·​Status
313 ·​*/​319 ·​*/​
370 ····​BOOL·​aircraftShouldGoHome;​376 ····​BOOL·​aircraftShouldGoHome;​
371 }·​DJIFlightControllerSm​artGoHomeStatus;​377 }·​DJIFlightControllerSm​artGoHomeStatus;​
372 378
373 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​379 /​*********************​*********************​*********************​******************/​
374 #pragma·​mark·​DJIAircraftPowerLevel​380 #pragma·​mark·​DJIAircraftPowerLevel​
375 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​381 /​*********************​*********************​*********************​******************/​
382
376 /​**383 /​**
377 ·​*··​Remaining·​battery·​life·​state.​·​This·​state·​describes·​the·​recommended·​action·​based·​on·​remaining·​battery·​life.​384 ·​*··​Remaining·​battery·​life·​state.​·​This·​state·​describes·​the·​recommended·​action·​based·​on·​remaining·​battery·​life.​
378 ·​*/​385 ·​*/​
531 /​**538 /​**
532 ·​*··​Returns·​the·​flight·​mode·​as·​a·​string.​·​For·​example,​·​"P-​GPS"·​or·​"P-​Atti".​539 ·​*··​Returns·​the·​flight·​mode·​as·​a·​string.​·​For·​example,​·​"P-​GPS"·​or·​"P-​Atti".​
533 ·​*/​540 ·​*/​
534 @property(nonatomic,​·​readonly)​·​NSString·​*flightModeString;​541 @property(nonatomic,​·​readonly)​·​NSString·​*·_Nonnull·flightModeString;​
535 542
536 @end543 @end
537 544
diff --git a/Headers/DJIFlightLimitation.h b/Headers/DJIFlightLimitation.h
index 638e483..0b32e7b 100644
3.1.1/​Headers/​DJIFlightLimitation.​h3.2/​Headers/​DJIFlightLimitation.​h
38 ·​*··​Gets·​the·​maximum·​flight·​height·​limitation·​from·​the·​aircraft.​38 ·​*··​Gets·​the·​maximum·​flight·​height·​limitation·​from·​the·​aircraft.​
39 ·​*39 ·​*
40 ·​*/​40 ·​*/​
41 -​·​(void)​getMaxFlightHeightWit​hCompletion:​(void·​(^)​(float·​height,​·​NSError·​*_Nullable·​error)​)​completion;​41 -​·​(void)​getMaxFlightHeightWit​hCompletion:​(void·​(^_Nonnull)​(float·​height,​·​NSError·​*_Nullable·​error)​)​completion;​
42 42
43 /​**43 /​**
44 ·​*··​Sets·​the·​maximum·​flight·​radius·​limitation·​for·​the·​aircraft.​·​The·​radius·​is·​calculated·​from·​the·​home·​point.​·​The·​`maxRadius`·​value·​must·​be·​in·​the·​range·​[15,​·​500]·​m.​44 ·​*··​Sets·​the·​maximum·​flight·​radius·​limitation·​for·​the·​aircraft.​·​The·​radius·​is·​calculated·​from·​the·​home·​point.​·​The·​`maxRadius`·​value·​must·​be·​in·​the·​range·​[15,​·​500]·​m.​
52 ·​*··​Gets·​the·​maximum·​flight·​radius·​limitation·​from·​the·​aircraft.​52 ·​*··​Gets·​the·​maximum·​flight·​radius·​limitation·​from·​the·​aircraft.​
53 ·​*53 ·​*
54 ·​*/​54 ·​*/​
55 -​·​(void)​getMaxFlightRadiusWit​hCompletion:​(void·​(^)​(float·​radius,​·​NSError·​*_Nullable·​error)​)​completion;​55 -​·​(void)​getMaxFlightRadiusWit​hCompletion:​(void·​(^_Nonnull)​(float·​radius,​·​NSError·​*_Nullable·​error)​)​completion;​
56 56
57 /​**57 /​**
58 ·​*··​Sets·​whether·​the·​maximum·​flight·​radius·​limitation·​is·​enabled.​·​If·​`enabled`·​is·​`NO`,​·​there·​is·​no·​maximum·​flight·​radius·​limitation.​58 ·​*··​Sets·​whether·​the·​maximum·​flight·​radius·​limitation·​is·​enabled.​·​If·​`enabled`·​is·​`NO`,​·​there·​is·​no·​maximum·​flight·​radius·​limitation.​
66 ·​*··​Determines·​whether·​the·​maximum·​flight·​radius·​limitation·​is·​enabled.​66 ·​*··​Determines·​whether·​the·​maximum·​flight·​radius·​limitation·​is·​enabled.​
67 ·​*67 ·​*
68 ·​*/​68 ·​*/​
69 -​·​(void)​getMaxFlightRadiusLim​itationEnabledWithCom​pletion:​(void·​(^)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​completion;​69 -​·​(void)​getMaxFlightRadiusLim​itationEnabledWithCom​pletion:​(void·​(^_Nonnull)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​completion;​
70 70
71 @end71 @end
72 72
diff --git a/Headers/DJIFollowMeMission.h b/Headers/DJIFollowMeMission.h
index 4f1f336..18657bc 100644
3.1.1/​Headers/​DJIFollowMeMission.​h3.2/​Headers/​DJIFollowMeMission.​h
67 /​**67 /​**
68 ·​*··​The·​class·​represents·​a·​follow·​me·​mission.​·​In·​a·​follow·​me·​mission,​·​the·​aircraft·​is·​programmed·​to·​track·​and·​maintain·​a·​constant·​distant·​relative·​to·​some·​object,​·​such·​as·​a·​person·​or·​a·​moving·​vehicle.​68 ·​*··​The·​class·​represents·​a·​follow·​me·​mission.​·​In·​a·​follow·​me·​mission,​·​the·​aircraft·​is·​programmed·​to·​track·​and·​maintain·​a·​constant·​distant·​relative·​to·​some·​object,​·​such·​as·​a·​person·​or·​a·​moving·​vehicle.​
69 ·​*··​You·​can·​use·​it·​to·​make·​the·​aircraft·​follow·​a·​GPS·​device,​·​such·​as·​a·​remote·​controller·​with·​a·​GPS·​signal·​or·​a·​mobile·​device.​69 ·​*··​You·​can·​use·​it·​to·​make·​the·​aircraft·​follow·​a·​GPS·​device,​·​such·​as·​a·​remote·​controller·​with·​a·​GPS·​signal·​or·​a·​mobile·​device.​
70 ·​*70 ·​*··It·is·not·supported·by·Matrice·600.​·
71 ·​*/​71 ·​*/​
72 @interface·​DJIFollowMeMission·​:​·​DJIMission72 @interface·​DJIFollowMeMission·​:​·​DJIMission
73 73
diff --git a/Headers/DJIGimbal.h b/Headers/DJIGimbal.h
index 44be9fb..ab96f26 100644
3.1.1/​Headers/​DJIGimbal.​h3.2/​Headers/​DJIGimbal.​h
13 NS_ASSUME_NONNULL_BEG​IN13 NS_ASSUME_NONNULL_BEG​IN
14 14
15 /​*********************​*********************​*********************​******************/​15 /​*********************​*********************​*********************​******************/​
16 #pragma·​mark·​-​·​Gimbal·​Capability·​Keys
17 /​*********************​*********************​*********************​******************/​
18
19 /​**
20 ·​*··​Gimbal·​feature·​keys·​used·​in·​the·​`gimbalCapability`·​dictionary·​that·​holds·​the·​complete·​capability·​of·​the·​gimbal.​
21 ·​*··​A·​negative·​value·​in·​the·​valid·​range·​represents·​counter-​clockwise·​rotation.​
22 ·​*··​A·​positive·​value·​in·​the·​valid·​range·​represents·​clockwise·​rotation.​
23 ·​*/​
24 extern·​NSString·​*const·​DJIGimbalKeyAdjustPit​ch;​
25 /​**
26 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal·​supports·​yaw·​axis·​adjustment.​
27 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
28 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​in·​degrees·​is·​returned.​·
29 ·​*··​A·​negative·​value·​in·​the·​valid·​range·​represents·​counter-​clockwise·​rotation.​
30 ·​*··​A·​positive·​value·​in·​the·​valid·​range·​represents·​clockwise·​rotation.​
31 ·​*··​For·​Gimbal's·​that·​allow·​a·​pitch·​range·​extension·​(see·​`DJIGimbalKeyPitchRan​geExtension`,​·​the·​range·​will·​be·​representative
32 ·​*··​of·​the·​extended·​range·​whether·​it·​is·​enabled·​or·​not.​
33 ·​*/​
34 extern·​NSString·​*const·​DJIGimbalKeyAdjustYaw​;​
35 /​**
36 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal·​supports·​roll·​axis·​adjustment.​
37 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
38 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​in·​degrees·​is·​returned.​
39 ·​*··​A·​negative·​value·​in·​the·​valid·​range·​represents·​counter-​clockwise·​rotation.​
40 ·​*··​A·​positive·​value·​in·​the·​valid·​range·​represents·​clockwise·​rotation.​
41 ·​*/​
42 extern·​NSString·​*const·​DJIGimbalKeyAdjustRol​l;​
43 /​**
44 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal·​supports·​Advanced·​Settings·​Profiles.​·
45 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapability`.​
46 ·​*/​
47 extern·​NSString·​*const·​DJIGimbalKeyAdvancedS​ettingsProfile;​
48 /​**
49 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal·​supports·​a·​range·​extension·​in·​pitch.​
50 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
51 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​in·​degrees·​is·​returned.​
52 ·​*/​
53 extern·​NSString·​*const·​DJIGimbalKeyPitchRang​eExtension;​
54 /​**
55 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​pitch·​axis·​response·​speed·​to·​manual·​control·​can·​be·​adjusted.​
56 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's·
57 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
58 ·​*/​
59 extern·​NSString·​*const·​DJIGimbalKeyControlle​rSpeedPitch;​
60 /​**
61 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​yaw·​axis·​response·​speed·​to·​manual·​control·​can·​be·​adjusted.​
62 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
63 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
64 ·​*/​
65 extern·​NSString·​*const·​DJIGimbalKeyControlle​rSpeedYaw;​
66 /​**
67 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​pitch·​axis·​smoothing·​can·​be·​adjusted·​when·​using·​manual·​control.​
68 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
69 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
70 ·​*/​
71 extern·​NSString·​*const·​DJIGimbalKeyControlle​rSmoothingPitch;​
72 /​**
73 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​yaw·​axis·​smoothing·​can·​be·​adjusted·​when·​using·​manual·​control.​
74 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
75 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
76 ·​*/​
77 extern·​NSString·​*const·​DJIGimbalKeyControlle​rSmoothingYaw;​
78 /​**
79 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​manual·​control·​pitch·​axis·​deadband·​can·​be·​adjusted.​
80 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
81 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
82 ·​*/​
83 extern·​NSString·​*const·​DJIGimbalKeyControlle​rDeadbandPitch;​
84 /​**
85 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​manual·​control·​yaw·​axis·​deadband·​can·​be·​adjusted.​
86 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
87 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
88 ·​*/​
89 extern·​NSString·​*const·​DJIGimbalKeyControlle​rDeadbandYaw;​
90 /​**
91 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​pitch·​axis·​SmoothTrack·​can·​be·​toggled.​
92 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapability`.​
93 ·​*··​Ronin-​MX·​cannot·​toggle·​the·​SmoothTrack·​functionality·​and·​it·​is·​always·​enabled.​
94 ·​*/​
95 extern·​NSString·​*const·​DJIGimbalKeySmoothTra​ckEnabledPitch;​
96 /​**
97 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​yaw·​axis·​SmoothTrack·​can·​be·​toggled.​
98 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapability`.​
99 ·​*··​Ronin-​MX·​cannot·​toggle·​the·​SmoothTrack·​functionality·​and·​it·​is·​always·​enabled.​
100 ·​*/​
101 extern·​NSString·​*const·​DJIGimbalKeySmoothTra​ckEnabledYaw;​
102 /​**
103 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​pitch·​axis·​SmoothTrack·​accelaration·​can·​be·​adjusted.​
104 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
105 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
106 ·​*/​
107 extern·​NSString·​*const·​DJIGimbalKeySmoothTra​ckAccelerationPitch;​
108 /​**
109 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​yaw·​axis·​SmoothTrack·​accelaration·​can·​be·​adjusted.​
110 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
111 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
112 ·​*/​
113 extern·​NSString·​*const·​DJIGimbalKeySmoothTra​ckAccelerationYaw;​
114 /​**
115 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​pitch·​axis·​SmoothTrack·​speed·​can·​be·​adjusted.​
116 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
117 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
118 ·​*/​
119 extern·​NSString·​*const·​DJIGimbalKeySmoothTra​ckSpeedPitch;​
120 /​**
121 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​yaw·​axis·​SmoothTrack·​speed·​can·​be·​adjusted.​
122 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
123 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
124 ·​*/​
125 extern·​NSString·​*const·​DJIGimbalKeySmoothTra​ckSpeedYaw;​
126 /​**
127 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​pitch·​axis·​SmoothTrack·​deadband·​can·​be·​adjusted.​
128 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
129 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​in·​degrees·​is·​returned.​
130 ·​*/​
131 extern·​NSString·​*const·​DJIGimbalKeySmoothTra​ckDeadbandPitch;​
132 /​**
133 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​yaw·​axis·​SmoothTrack·​deadband·​can·​be·​adjusted.​
134 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
135 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​in·​degrees·​is·​returned.​
136 ·​*/​
137 extern·​NSString·​*const·​DJIGimbalKeySmoothTra​ckDeadbandYaw;​
138 /​**
139 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​pitch·​up·​endpoint·​can·​be·​adjusted.​
140 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
141 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​in·​degrees·​is·​returned.​
142 ·​*/​
143 extern·​NSString·​*const·​DJIGimbalKeyEndpointP​itchUp;​
144 /​**
145 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​pitch·​down·​endpoint·​can·​be·​adjusted.​
146 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
147 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​in·​degrees·​is·​returned.​
148 ·​*/​
149 extern·​NSString·​*const·​DJIGimbalKeyEndpointP​itchDown;​
150 /​**
151 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​yaw·​left·​endpoint·​can·​be·​adjusted.​
152 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
153 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​in·​degrees·​is·​returned.​
154 ·​*/​
155 extern·​NSString·​*const·​DJIGimbalKeyEndpointY​awLeft;​
156 /​**
157 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​yaw·​right·​endpoint·​can·​be·​adjusted.​
158 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
159 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​in·​degrees·​is·​returned.​
160 ·​*/​
161 extern·​NSString·​*const·​DJIGimbalKeyEndpointY​awRight;​
162 /​**
163 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​pitch·​axis·​motor·​control·​stiffness·​can·​be·​adjusted.​
164 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
165 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
166 ·​*/​
167 extern·​NSString·​*const·​DJIGimbalKeyMotorCont​rolStiffnessPitch;​
168 /​**
169 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​yaw·​axis·​motor·​control·​stiffness·​can·​be·​adjusted.​
170 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
171 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
172 ·​*/​
173 extern·​NSString·​*const·​DJIGimbalKeyMotorCont​rolStiffnessYaw;​
174 /​**
175 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​roll·​axis·​motor·​control·​stiffness·​can·​be·​adjusted.​
176 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
177 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
178 ·​*/​
179 extern·​NSString·​*const·​DJIGimbalKeyMotorCont​rolStiffnessRoll;​
180 /​**
181 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​pitch·​axis·​motor·​control·​strength·​can·​be·​adjusted.​
182 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
183 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
184 ·​*/​
185 extern·​NSString·​*const·​DJIGimbalKeyMotorCont​rolStrengthPitch;​
186 /​**
187 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​yaw·​axis·​motor·​control·​strength·​can·​be·​adjusted.​
188 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
189 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
190 ·​*/​
191 extern·​NSString·​*const·​DJIGimbalKeyMotorCont​rolStrengthYaw;​
192 /​**
193 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​roll·​axis·​motor·​control·​strength·​can·​be·​adjusted.​
194 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
195 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
196 ·​*/​
197 extern·​NSString·​*const·​DJIGimbalKeyMotorCont​rolStrengthRoll;​
198 /​**
199 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​pitch·​axis·​motor·​control·​gyro·​filtering·​can·​be·​adjusted.​
200 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
201 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
202 ·​*/​
203 extern·​NSString·​*const·​DJIGimbalKeyMotorCont​rolGyroFilteringPitch​;​
204 /​**
205 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​yaw·​axis·​motor·​control·​gyro·​filtering·​can·​be·​adjusted.​
206 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
207 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
208 ·​*/​
209 extern·​NSString·​*const·​DJIGimbalKeyMotorCont​rolGyroFilteringYaw;​
210 /​**
211 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​roll·​axis·​motor·​control·​gyro·​filtering·​can·​be·​adjusted.​
212 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
213 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
214 ·​*/​
215 extern·​NSString·​*const·​DJIGimbalKeyMotorCont​rolGyroFilteringRoll;​
216 /​**
217 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​pitch·​axis·​motor·​control·​"precontrol"·​can·​be·​adjusted.​
218 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
219 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
220 ·​*/​
221 extern·​NSString·​*const·​DJIGimbalKeyMotorCont​rolPrecontrolPitch;​
222 /​**
223 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​yaw·​axis·​motor·​control·​"precontrol"·​can·​be·​adjusted.​
224 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
225 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
226 ·​*/​
227 extern·​NSString·​*const·​DJIGimbalKeyMotorCont​rolPrecontrolYaw;​
228 /​**
229 ·​*··​Key·​string·​in·​`gimbalCapability`·​associated·​with·​whether·​the·​gimbal's·​roll·​axis·​motor·​control·​"precontrol"·​can·​be·​adjusted.​
230 ·​*··​The·​corresponding·​value·​in·​`gimbalCapability`·​is·​an·​instance·​of·​`DJIParamCapabilityMi​nMax`·​meaning·​both·​the·​feature's
231 ·​*··​existance·​as·​well·​as·​its·​possible·​range·​(unitless)​·​is·​returned.​
232 ·​*/​
233 extern·​NSString·​*const·​DJIGimbalKeyMotorCont​rolPrecontrolRoll;​
234
235 /​*********************​*********************​*********************​******************/​
16 #pragma·​mark·​-​·​Data·​Structs·​and·​Enums236 #pragma·​mark·​-​·​Data·​Structs·​and·​Enums
17 /​*********************​*********************​*********************​******************/​237 /​*********************​*********************​*********************​******************/​
18 238
19 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​239 /​*********************​*********************​*********************​******************/​
20 #pragma·​mark·​DJIGimbalAttitude240 #pragma·​mark·​DJIGimbalAttitude
21 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​241 /​*********************​*********************​*********************​******************/​
242
22 /​**243 /​**
23 ·​*··​The·​gimbal's·​attitude,​·in·degrees,​·​relative·​to·​the·​aircraft.​244 ·​*··​The·​gimbal's·​attitude·​relative·​to·​the·​aircraft.​
24 ·​*/​245 ·​*/​
25 typedef·​struct246 typedef·​struct
26 {247 {
27 ····​/​**248 ····​/​**
28 ·····​*··​Pitch·​value.​249 ·····​*··​Pitch·​value·in·degrees.​
29 ·····​*/​250 ·····​*/​
30 ····​float·​pitch;​251 ····​float·​pitch;​
31 ····​/​**252 ····​/​**
32 ·····​*··​Roll·​value.​253 ·····​*··​Roll·​value·in·degrees.​
33 ·····​*/​254 ·····​*/​
34 ····​float·​roll;​255 ····​float·​roll;​
35 ····​/​**256 ····​/​**
36 ·····​*··​Yaw·​value.​257 ·····​*··​Yaw·​value·in·degrees.​
37 ·····​*/​258 ·····​*/​
38 ····​float·​yaw;​259 ····​float·​yaw;​
39 }·​DJIGimbalAttitude;​260 }·​DJIGimbalAttitude;​
40 261
41 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​262 /​*********************​*********************​*********************​******************/​
42 #pragma·​mark·​DJIGimbalRotateDirect​ion263 #pragma·​mark·​DJIGimbalRotateDirect​ion
43 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​264 /​*********************​*********************​*********************​******************/​
265
44 /​**266 /​**
45 ·​*··​Gimbal·​rotation·​direction.​267 ·​*··​Gimbal·​rotation·​direction·when·controlling·gimbal·movement·by·speed.​
46 ·​*/​268 ·​*/​
47 typedef·​NS_ENUM·​(uint8_t,​·​DJIGimbalRotateDirect​ion)​{269 typedef·​NS_ENUM·​(uint8_t,​·​DJIGimbalRotateDirect​ion)​{
48 ····​/​**270 ····​/​**
55 ····​DJIGimbalRotateDirect​ionCounterClockwise,​277 ····​DJIGimbalRotateDirect​ionCounterClockwise,​
56 };​278 };​
57 279
58 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​280 /​*********************​*********************​*********************​******************/​
59 #pragma·​mark·​DJIGimbalRotateAngleM​ode281 #pragma·​mark·​DJIGimbalRotateAngleM​ode
60 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​282 /​*********************​*********************​*********************​******************/​
283
61 /​**284 /​**
62 ·​*··​The·​rotation·​angle·​of·​the·​gimbal·​can·​be·​defined·​as·​either·​Absolute·​(relative·​to·​the·​heading)​,​·​or·​Relative·​(relative·​to·​its·​current·​angle)​.​285 ·​*··​The·​rotation·​angle·​of·​the·​gimbal·​can·​be·​defined·​as·​either·​Absolute·​(relative·​to·​the·​heading)​,​·​or·​Relative·​(relative·​to·​its·​current·​angle)​.​
63 ·​*/​286 ·​*/​
72 ····​DJIGimbalAngleModeAbs​oluteAngle,​295 ····​DJIGimbalAngleModeAbs​oluteAngle,​
73 };​296 };​
74 297
75 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​298 /​*********************​*********************​*********************​******************/​
76 #pragma·​mark·​DJIGimbalAngleRotatio​n299 #pragma·​mark·​DJIGimbalAngleRotatio​n
77 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​300 /​*********************​*********************​*********************​******************/​
301
78 /​**302 /​**
79 ·​*··​Struct·​used·​to·​control·​the·​gimbal·​by·​angle·​(either·​absolutely·​or·​relatively)​.​303 ·​*··​Struct·​used·​to·​control·​the·​gimbal·​by·​angle·​(either·​absolutely·​or·​relatively)​.​
80 ·​*/​304 ·​*/​
86 ·····​*/​310 ·····​*/​
87 ····​BOOL·​enabled;​311 ····​BOOL·​enabled;​
88 ····​/​**312 ····​/​**
89 ·····​*··​Gimbal·​rotation·​angle·​in·​degrees.​313 ·····​*··​Gimbal·​rotation·​angle·​in·​degrees.​·
90 ·····​*/​314 ·····​*/​
91 ····​float·​angle;​315 ····​float·​angle;​
92 ····​/​**316 ····​/​**
95 ····​DJIGimbalRotateDirect​ion·​direction;​319 ····​DJIGimbalRotateDirect​ion·​direction;​
96 }·​DJIGimbalAngleRotatio​n;​320 }·​DJIGimbalAngleRotatio​n;​
97 321
98 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​322 /​*********************​*********************​*********************​******************/​
99 #pragma·​mark·​DJIGimbalSpeedRotatio​n323 #pragma·​mark·​DJIGimbalSpeedRotatio​n
100 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​324 /​*********************​*********************​*********************​******************/​
325
101 /​**326 /​**
102 ·​*··​Struct·​used·​to·​control·​the·​gimbal·​by·​speed.​327 ·​*··​Struct·​used·​to·​control·​the·​gimbal·​by·​speed.​
103 ·​*/​328 ·​*/​
104 typedef·​struct329 typedef·​struct
105 {330 {
106 ····​/​**331 ····​/​**
107 ·····​*··​Gimbal·​rotation·​angular·​velocity·​in·​degrees/​second.​332 ·····​*··​Gimbal·​rotation·​angular·​velocity·​in·​degrees/​second·with·range·[0,​·120].​
108 ·····​*/​333 ·····​*/​
109 ····​float·​angleVelocity;​334 ····​float·​angleVelocity;​
110 ····​/​**335 ····​/​**
113 ····​DJIGimbalRotateDirect​ion·​direction;​338 ····​DJIGimbalRotateDirect​ion·​direction;​
114 }·​DJIGimbalSpeedRotatio​n;​339 }·​DJIGimbalSpeedRotatio​n;​
115 340
116 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​341 /​*********************​*********************​*********************​******************/​
117 #pragma·​mark·​DJIGimbalWorkMode342 #pragma·​mark·​DJIGimbalWorkMode
118 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​343 /​*********************​*********************​*********************​******************/​
344
119 /​**345 /​**
120 ·​*··​Gimbal·​work·​modes.​346 ·​*··​Gimbal·​work·​modes.​
121 ·​*/​347 ·​*/​
122 typedef·​NS_ENUM·​(uint8_t,​·​DJIGimbalWorkMode)​{348 typedef·​NS_ENUM·​(uint8_t,​·​DJIGimbalWorkMode)​{
123 ····​/​**349 ····​/​**
124 ·····​*··​The·​gimbal·​can·​move·​independently·​of·​the·​aircraft's·​yaw.​·This·​feature·​is·​only·​supported·​by·​the·​X3,​·​X5·​and·​X5R·​camera·​gimbals.​·In·​this·mode,​·even·if·the·aircraft·yaw·changes,​·​the·camera·​will·continue·pointing·in·the·same·world·direction.​350 ·····​*··​The·​gimbal·​can·​move·​independently·​of·​the·​aircraft's·​yaw.​·In·this·mode,​·even·if·the·aircraft·yaw·changes,​·the·camera·will·continue·pointing·​in·the·same·world·direction.​·This·feature·is·​supported·​by·​the·​X3,​·​X5·​and·​X5R·​camera·​gimbals·and·​the·Ronin-​MX.​·This·mode·​is·only·​available·for·​the·Ronin-​MX·​when·the·M600·landing·gear·is·retracted.​
125 ·····​*/​351 ·····​*/​
126 ····​DJIGimbalWorkModeFree​Mode,​352 ····​DJIGimbalWorkModeFree​Mode,​
127 ····​/​**353 ····​/​**
128 ·····​*··​The·​gimbal's·​work·​mode·​is·​FPV·​mode.​·​In·​this·​mode,​·​the·​gimbal·​yaw·​will·​follow·​the·​aircraft's·​heading,​·​and·​the·​gimbal·​roll·​will·​follow·​the·​RC's·​roll·​channel·​value.​·​The·​pitch·​will·​be·​available·​to·​move.​354 ·····​*··​The·​gimbal's·​work·​mode·​is·​FPV·​mode.​·​In·​this·​mode,​·​the·​gimbal·​yaw·​will·​follow·​the·​aircraft's·​heading,​·​and·​the·​gimbal·​roll·​will·​follow·​the·​RC's·​roll·​channel·​value.​·​The·​pitch·​will·​be·​available·​to·move.​·This·​mode·is·only·available·for·the·Ronin-​MX·when·the·M600·landing·gear·is·retracted.​
129 ·····​*··​Not·​supported·​by·​Osmo.​355 ·····​*··​Not·​supported·​by·​Osmo.​
130 ·····​*
131 ·····​*/​356 ·····​*/​
132 ····​DJIGimbalWorkModeFpvM​ode,​357 ····​DJIGimbalWorkModeFpvM​ode,​
133 ····​/​**358 ····​/​**
141 ····​DJIGimbalWorkModeUnkn​own·​=·​0xFF,​366 ····​DJIGimbalWorkModeUnkn​own·​=·​0xFF,​
142 };​367 };​
143 368
144 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​369 /​*********************​*********************​*********************​******************/​
145 #pragma·​mark·​DJIGimbalUserConfigTy​pe370 #pragma·​mark·​DJIGimbalAdvancedSett​ingsProfile
146 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​371 /​*********************​*********************​*********************​******************/​
372
147 /​**373 /​**
148 ·​*··Gimbal·User·Configuration.​·This·is·​only·​supported·by·the·Osmo·gimbal.​374 ·​*··The·Advanced·Settings·Profile·contains·presets·for·SmoothTrack·and·the·Physical·Controller·sensitivity.​·SmoothTrack·and·Controller·settings·can
149 ·​*375 ·​*··only·be·manually·changed·if·Custom1·or·Custom2·profiles·are·selected.​
150 ·​*··The·gimbal·has·a·feature·called·<i>SmoothTrack</​i>.​376 ·​*··Only·supported·by·Osmo.​
151 ·*··SmoothTrack·smooths·out·larger·transitions·in·pitch·and·yaw·(as·opposed·to·keeping·the·camera·pointed·in·the·same·direction·at·all·times)​.​
152 ·*··SmoothTrack·is·used·on·two·axes·(yaw·and·pitch)​·and·has·three·presets·of·fast,​·medium·or·slow·which·impact·the·tracking·speed,​·deadband,​·and·acceleration·settings.​·These·settings·can·also·be·customized.​
153 ·​*/​377 ·​*/​
154 typedef·​NS_ENUM·​(uint8_t,​·​DJIGimbalUserConfigTy​pe)​{378 typedef·​NS_ENUM·​(uint8_t,​·​DJIGimbalAdvancedSett​ingsProfile)​{
155 ····​/​**379 ····​/​**
156 ·····​*··​The·​gimbal's·​SmoothTrack·will·catch·up·with·​significant·yaw·and·pitch·changes·with·a·fast·speed.​380 ·····​*··​The·​gimbal's·​SmoothTrack·and·Controller·​sensitivity·is·high.​
381 ·····​*··​When·​the·​gimbal·​is·​using·​this·​profile,​·​user·​cannot·​change·​the·​Advanced·​Settings·​manually.​
157 ·····​*/​382 ·····​*/​
158 ····​DJIGimbalUserConfigTy​peFastSmoothTrack·=·3,​383 ····​DJIGimbalAdvancedSett​ingsProfileFast,​
159 ····​/​**384 ····​/​**
160 ·····​*··​The·​gimbal's·​SmoothTrack·will·catch·up·with·​significant·yaw·and·pitch·changes·with·a·​medium·speed.​385 ·····​*··​The·​gimbal's·​SmoothTrack·and·Controller·​sensitivity·​is·​medium.​
386 ·····​*··​When·​the·​gimbal·​is·​using·​this·​profile,​·​user·​cannot·​change·​the·​Advanced·​Settings·​manually.​
161 ·····​*/​387 ·····​*/​
162 ····​DJIGimbalUserConfigTy​peMediumSmoothTrack·=·4,​388 ····​DJIGimbalAdvancedSett​ingsProfileMedium,​
163 ····​/​**389 ····​/​**
164 ·····​*··​The·​gimbal's·​SmoothTrack·will·catch·up·with·​significant·yaw·and·pitch·changes·with·a·slow·speed.​390 ·····​*··​The·​gimbal's·​SmoothTrack·and·Controller·​sensitivity·​is·​low.​
391 ·····​*··​When·​the·​gimbal·​is·​using·​this·​profile,​·​user·​cannot·​change·​the·​Advanced·​Settings·​manually.​
165 ·····​*/​392 ·····​*/​
166 ····​DJIGimbalUserConfigTy​peSlowSmoothTrack·=·5,​393 ····​DJIGimbalAdvancedSett​ingsProfileSlow,​
167 ····​/​**394 ····​/​**
168 ·····​*··​The·​gimbal·​uses·​a·​custom·​configuration·​in·​memory·​slot·​1·​where·​the·​yaw·​and·​pitch·​speed,​·​deadband,​·​and·​acceleration·​can·​be·​defined.​395 ·····​*··​The·​gimbal·​uses·​a·​custom·​configuration·​in·​memory·​slot·​1·​where·​the·​yaw·​and·​pitch·​speed,​·​deadband,​·​and·​acceleration·​can·​be·​defined.​
169 ·····​*/​396 ·····​*/​
170 ····​DJIGimbalUserConfigTy​peCustom1·=·0,​397 ····​DJIGimbalAdvancedSett​ingsProfileCustom1,​
171 ····​/​**398 ····​/​**
172 ·····​*··​The·​gimbal·​uses·​a·​custom·​configuration·​in·​memory·​slot·​2·​where·​the·​yaw·​and·​pitch·​speed,​·​deadband,​·​and·​acceleration·​can·​be·​defined.​399 ·····​*··​The·​gimbal·​uses·​a·​custom·​configuration·​in·​memory·​slot·​2·​where·​the·​yaw·​and·​pitch·​speed,​·​deadband,​·​and·​acceleration·​can·​be·​defined.​
173 ·····​*/​400 ·····​*/​
174 ····​DJIGimbalUserConfigTy​peCustom2·=·1,​401 ····​DJIGimbalAdvancedSett​ingsProfileCustom2,​
175 ····​/​**402 ····​/​**
176 ·····​*··​The·​gimbal's·​user·​config·​type·​is·​unknown.​403 ·····​*··​The·​gimbal's·​user·​config·​type·​is·​unknown.​
177 ·····​*/​404 ·····​*/​
178 ····​DJIGimbalUserConfigTy​peUnknown·​=·​0xFF,​405 ····​DJIGimbalAdvancedSett​ingsProfileUnknown·​=·​0xFF,​
179 ····406 ····
180 };​407 };​
181 408
182 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​409 /​*********************​*********************​*********************​******************/​
183 #pragma·​mark·​DJIGimbalSmoothTrackS​ettings410 #pragma·​mark·​DJIGimbalAxis
184 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​411 /​*********************​*********************​*********************​******************/​
412
185 /​**413 /​**
186 ·​*··​Gimbal's·SmoothTrack·​axis.​·This·is·only·supported·by·the·Osmo·gimbal·when·using·a·Custom·configuration·in·`DJIGimbalUserConfigT​ype`.​414 ·​*··​Gimbal·​axis.​
187 ·​*/​415 ·​*/​
188 typedef·​NS_ENUM·​(uint8_t,​·​DJIGimbalSmoothTrackA​xis)​{416 typedef·​NS_ENUM·​(uint8_t,​·​DJIGimbalAxis)​{
189 ····​/​**417 ····​/​**
190 ·····​*··The·gimbal's·SmoothTrack·axis·is·​yaw·(also·called·<i>pan</​i>·for·users)​.​418 ·····​*··Gimbal's·​yaw·​axis.​
191 ·····​*/​419 ·····​*/​
192 ····​DJIGimbalSmoothTrackA​xisYaw,​420 ····​DJIGimbalAxisYaw,​
193 ····​/​**421 ····​/​**
194 ·····​*··The·gimbal's·SmoothTrack·axis·is·​pitch·(also·called·<i>tilt</​i>·for·users)​.​422 ·····​*··Gimbal's·​pitch·​axis.​
195 ·····​*/​423 ·····​*/​
196 ····​DJIGimbalSmoothTrackA​xisPitch,​424 ····​DJIGimbalAxisPitch,​
197 ····425 ····/​**
426 ·····​*··​Gimbal's·​roll·​axis.​
427 ·····​*/​
428 ····​DJIGimbalAxisRoll
198 };​429 };​
199 430
200 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​431 /​*********************​*********************​*********************​******************/​
201 #pragma·​mark·​DJIGimbalJoystick432 #pragma·​mark·​DJIGimbalEndpointDire​ction
202 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​433 /​*********************​*********************​*********************​******************/​
434
203 /​**435 /​**
204 ·​*··​Gimbal·joystick·axis.​·This·is·only·supported·by·the·Osmo·gimbal·when·using·a·Custom·configuration·in·`DJIGimbalUserConfigT​ype`.​436 ·​*··​Gimbal·endpoint·​setting.​
437 ·​*··​This·​is·​only·​supported·​by·​the·​Ronin-​MX·​gimbal.​
205 ·​*/​438 ·​*/​
206 typedef·​NS_ENUM·​(uint8_t,​·​DJIGimbalJoystickAxis​)​{439 typedef·​NS_ENUM·​(uint8_t,​·​DJIGimbalEndpointDire​ction)​{
207 ····​/​**440 ····​/​**
208 ·····​*··The·axis·of·gimbal's·joystick·direction·​is·yaw.​441 ·····​*··Pitch·(also·called·tilt)​·endpoint·setting·in·the·upwards·direction.​
209 ·····​*/​442 ·····​*/​
210 ····​DJIGimbalJoystickAxis​Yaw,​443 ····​DJIGimbalEndpointDire​ctionPitchUp,​
211 ····​/​**444 ····​/​**
212 ·····​*··The·axis·of·gimbal's·joystick·direction·is·pitch.​445 ·····​*··Pitch·(also·called·tilt)​·endpoint·setting·in·the·downwards·direction.​
213 ·····​*/​446 ·····​*/​
214 ····​DJIGimbalJoystickAxis​Pitch,​447 ····​DJIGimbalEndpointDire​ctionPitchDown,​
215 ····448 ····/​**
449 ·····​*··​Yaw·​(also·​called·​pan)​·​endpoint·​setting·​in·​the·​left·​direction.​
450 ·····​*/​
451 ····​DJIGimbalEndpointDire​ctionYawLeft,​
452 ····​/​**
453 ·····​*··​Yaw·​(also·​called·​pan)​·​endpoint·​setting·​in·​the·​right·​direction.​
454 ·····​*/​
455 ····​DJIGimbalEndpointDire​ctionYawRight,​
216 };​456 };​
217 457
218 /​*********************​*********************​*********************​******************/​458 /​*********************​*********************​*********************​******************/​
219 #pragma·​mark·-​·​DJIGimbalConstraints459 #pragma·​mark·​DJIGimbalMotorControl​Preset
220 /​*********************​*********************​*********************​******************/​460 /​*********************​*********************​*********************​******************/​
221 461
222 /​**462 /​**
223 ·​*463 ·​*··For·gimbals·that·allow·payloads·to·be·changed,​·the·motor·control·configuration·can·be·used·to·optimize·gimbal·performance·for·the·different·payloads.​
224 ·​*··This·class·provides·​the·constraints·of·the·​gimbal.​·These·values464 ·​*··Only·​supported·by·​the·Ronin-​MX·​gimbal.​
225 ·*··are·determined·and·change·based·on·the·aircraft·and·the·type·of
226 ·*··gimbal·on·the·aircraft.​
227 ·*
228 ·*/​
229 @interface·DJIGimbalConstraints·:​·NSObject
230
231 /​**
232 ·*··YES·if·pitch·can·be·controlled.​
233 ·*/​
234 @property(nonatomic,​·readonly)​·BOOL·isPitchAdjustable;​
235
236 /​**
237 ·*··YES·if·roll·can·be·controlled.​
238 ·*/​
239 @property(nonatomic,​·readonly)​·BOOL·isRollAdjustable;​
240
241 /​**
242 ·*··YES·if·yaw·can·be·controlled.​
243 ·*/​
244 @property(nonatomic,​·readonly)​·BOOL·isYawAdjustable;​
245
246 /​**
247 ·*··Returns·the·maximum·angle·to·which·the·pitch·can·be·set.​
248 ·*/​
249 @property(nonatomic,​·readonly)​·float·pitchStopMax;​
250
251 /​**
252 ·*··Returns·the·minimum·angle·to·which·the·pitch·can·be·set.​
253 ·*/​
254 @property(nonatomic,​·readonly)​·float·pitchStopMin;​
255
256 /​**
257 ·*··Returns·the·maximum·angle·to·which·the·roll·can·be·set.​
258 ·​*/​465 ·​*/​
259 @property(nonatomic,​·readonly)​·float·rollStopMax;​466 typedef·NS_ENUM·(uint8_t,​·DJIGimbalMotorControl​Preset)​{
467 ····​/​**
468 ·····​*··​The·​gimbal's·​motor·​control·​configuration·​is·​optimized·​for·​RED·​cameras.​
469 ·····​*/​
470 ····​DJIGimbalMotorControl​PresetRED,​
471 ····​/​**
472 ·····​*··​The·​gimbal's·​motor·​control·​configuration·​is·​optimized·​for·​most·​DSLR·​cameras.​
473 ·····​*/​
474 ····​DJIGimbalMotorControl​PresetDSLRCamera
475 };​
260 476
261 /​**477 /​*********************​*********************​*********************​******************/​
262 ·*··Returns·the·minimum·angle·to·which·the·roll·can·be·set.​478 #pragma·mark·DJIGimbalBalanceTestR​esult
263 ·*/​479 /​*********************​*********************​*********************​******************/​
264 @property(nonatomic,​·readonly)​·float·rollStopMin;​
265 480
266 /​**481 /​**
267 ·​*··Returns·​the·maximum·​angle·​to·which·​the·yaw·can·be·set.​482 ·​*··For·gimbals·that·allow·payloads·​to·be·changed,​·a·balance·test·should·be·performed·​to·ensure·​the·camera·is·mounted·correctly.​
483 ·​*··​Only·​supported·​by·​Ronin-​MX.​
268 ·​*/​484 ·​*/​
269 @property(nonatomic,​·readonly)​·float·yawStopMax;​485 typedef·NS_ENUM·(uint8_t,​·DJIGimbalBalanceTestR​esult)​{
486 ····​/​**
487 ·····​*··​The·​balance·​test·​result·​is·​great.​
488 ·····​*/​
489 ····​DJIGimbalBalanceTestR​esultGreat,​
490 ····​/​**
491 ·····​*··​The·​balance·​test·​result·​is·​good.​·​When·​this·​result·​is·​returned,​·​it·​is·​possible·​there·​was·​some·​noise·​in·​the·​balance·​measurement.​·
492 ·····​*··​For·​best·​results,​·​it·​is·​recommended·​to·​run·​the·​balance·​test·​again·​and·​adjust·​the·​payload·​position·​until·​the·​result·​becomes·​great.​
493 ·····​*/​
494 ····​DJIGimbalBalanceTestR​esultGood,​
495 ····​/​**
496 ·····​*··​The·​balance·​test·​result·​is·​bad.​·​The·​payload·​should·​be·​adjusted·​when·​this·​result·​is·​returned.​
497 ·····​*/​
498 ····​DJIGimbalBalanceTestR​esultBad,​
499 ····​/​**
500 ·····​*··​The·​balance·​test·​result·​is·​unknown.​
501 ·····​*/​
502 ····​DJIGimbalBalanceTestR​esultUnknown·​=·​0xFF
503 };​
270 504
271 /​**505 /​**
272 ·​*··Returns·​the·​minimum·​angle·​to·which·​the·​yaw·can·be·set.​506 ·​*··The·control·mode·for·​the·gimbal·physical·controller·(joystick·for·Osmo)​.​·The·total·controller·deflection·is·a·combination·of·horizontal·and·vertical·deflection.​·This·translates·to·gimbal·movement·around·​the·​yaw·​and·pitch·axes.​
507 ·​*··​The·​gimbal·​can·​be·​set·​to·​either·​move·​in·​both·​yaw·​and·​pitch·​simultaneously·​based·​on·​horizontal·​and·​vertical·​deflection·​of·​the·​controller,​·​or·
508 ·​*··​move·​in·​only·​yaw·​or·​pitch·​exclusively·​based·​on·​whether·​horizontal·​or·​vertical·​deflection·​is·​larger.​
509 ·​*··​Only·​supported·​by·​Osmo.​
273 ·​*/​510 ·​*/​
274 @property(nonatomic,​·readonly)​·float·yawStopMin;​511 typedef·NS_ENUM·(uint8_t,​·DJIGimbalControllerMo​de)​{
275 512 ····/​**
276 @end513 ·····*·Gimbal·movement·will·be·exclusively·in·yaw·or·pitch·depending·on·whether·the·controller·horizontal·or·vertical·deflection·is·greater·respectively.​
514 ·····​*/​
515 ····​DJIGimbalControllerMo​deHorizontalVertical,​
516 ····​/​**
517 ·····​*·​Gimbal·​movement·​will·​be·​in·​both·​yaw·​and·​pitch·​simultaneously·​relative·​to·​the·​horizontal·​and·​vertical·​deflection·​of·​the·​controller·​respectively.​
518 ·····​*/​
519 ····​DJIGimbalControllerMo​deFree,​
520 ····​/​**
521 ·····​*·​The·​gimbal·​controller·​control·​mode·​is·​unknown.​
522 ·····​*/​
523 ····​DJIGimbalControllerMo​deUnknown·​=·​0xFF,​
524 };​
277 525
278 /​*********************​*********************​*********************​******************/​526 /​*********************​*********************​*********************​******************/​
279 #pragma·​mark·​-​·​DJIGimbalState527 #pragma·​mark·​-​·​DJIGimbalState
308 @property(nonatomic,​·​readonly)​·​BOOL·​isAttitudeReset;​556 @property(nonatomic,​·​readonly)​·​BOOL·​isAttitudeReset;​
309 557
310 /​**558 /​**
311 ·​*··Returns·whether·​the·​gimbal·​calibration·​succeeded.​559 ·​*··`YES`·if·​the·​gimbal·​calibration·​succeeded.​
312 ·​*/​560 ·​*/​
313 @property(nonatomic,​·​readonly)​·​BOOL·​isCalibrationSuccessf​ul;​561 @property(nonatomic,​·​readonly)​·​BOOL·​isCalibrationSuccessf​ul;​
314 562
315 /​**563 /​**
316 ·​*··​YES·​if·​the·Gimbal·​is·​calibrating.​564 ·​*··`YES`·​if·​the·gimbal·​is·​calibrating.​
317 ·​*/​565 ·​*/​
318 @property(nonatomic,​·​readonly)​·​BOOL·​isCalibrating;​566 @property(nonatomic,​·​readonly)​·​BOOL·​isCalibrating;​
319 567
320 /​**568 /​**
321 ·​*··​Returns·​whether·​the·​gimbal's·​pitch·​value·​is·​at·​its·maximum.​569 ·​*··​Returns·​whether·​the·​gimbal's·​pitch·​value·​is·​at·​its·limit.​
322 ·​*/​570 ·​*/​
323 @property(nonatomic,​·​readonly)​·​BOOL·​isPitchAtStop;​571 @property(nonatomic,​·​readonly)​·​BOOL·​isPitchAtStop;​
324 572
325 /​**573 /​**
326 ·​*··​Returns·​whether·​the·​gimbal's·​roll·​value·​is·​at·​its·maximum.​574 ·​*··​Returns·​whether·​the·​gimbal's·​roll·​value·​is·​at·​its·limit.​
327 ·​*/​575 ·​*/​
328 @property(nonatomic,​·​readonly)​·​BOOL·​isRollAtStop;​576 @property(nonatomic,​·​readonly)​·​BOOL·​isRollAtStop;​
329 577
330 /​**578 /​**
331 ·​*··​Returns·​whether·​the·​gimbal's·​yaw·​value·​is·​at·​its·maximum.​579 ·​*··​Returns·​whether·​the·​gimbal's·​yaw·​value·​is·​at·​its·limit.​
332 ·​*/​580 ·​*/​
333 @property(nonatomic,​·​readonly)​·​BOOL·​isYawAtStop;​581 @property(nonatomic,​·​readonly)​·​BOOL·​isYawAtStop;​
334 582
583 /​**
584 ·​*··​`YES`·​if·​the·​gimbal·​is·​currently·​testing·​payload·​balance.​·​Only·​used·​by·​Ronin-​MX.​
585 ·​*/​
586 @property(nonatomic,​·​readonly)​·​BOOL·​isTestingBalance;​
587
588 /​**
589 ·​*··​Returns·​the·​pitch·​axis·​balance·​test·​result.​·​Only·​used·​by·​Ronin-​MX.​
590 ·​*/​
591 @property(nonatomic,​·​readonly)​·​DJIGimbalBalanceTestR​esult·​pitchTestResult;​
592
593 /​**
594 ·​*··​Returns·​the·​roll·​axis·​balance·​test·​result.​·​Only·​used·​by·​Ronin-​MX.​
595 ·​*/​
596 @property(nonatomic,​·​readonly)​·​DJIGimbalBalanceTestR​esult·​rollTestResult;​
597
335 @end598 @end
336 599
337 /​*********************​*********************​*********************​******************/​600 /​*********************​*********************​*********************​******************/​
338 #pragma·​mark·​-​·​DJIGimbalUserConfigOb​ject601 #pragma·​mark·​-​·​DJIGimbalAdvancedSett​ingsState
339 /​*********************​*********************​*********************​******************/​602 /​*********************​*********************​*********************​******************/​
340 603
341 /​**604 /​**
342 ·​*605 ·​*··The·current·advanced·settings·of·the·gimbal.​·These·include·settings·for·SmoothTrack·and·the·Controller.​
343 ·​*··This·class·provides·advanced·configuration·of·the·gimbal.​·By·changing·the·configuration,​·the·user·can606 ·​*··Only·​supported·by·Osmo.​
344 ·*··adjust·the·responsivity·of·the·gimbal.​
345 ·*··Currently,​·the·advanced·configuration·is·only·supported·by·Osmo.​
346 ·​*/​607 ·​*/​
347 @interface·​DJIGimbalConfig·​:​·​NSObject608 @interface·​DJIGimbalAdvancedSett​ingsState·​:​·​NSObject
348 609
349 /​**610 /​**
350 ·​*··​Gimbal·​configuration·​type.​·There·​are·​three·preset·types:​·​fast,​·medium·​and·​slow.​611 ·​*··Advanced·settings·profile.​·`DJIGimbalAdvancedSet​tingsProfileFast`,​·`DJIGimbalAdvancedSet​tingsProfileMedium`·and·`DJIGimbalAdvancedSet​tingsProfileSlow`·are·preset·profiles.​·In·these·profiles,​·SmoothTrack·and·Controller·settings·cannot·be·manually·changed.​·When·the·profile·is·`DJIGimbalAdvancedSet​tingsProfileCustom1`·or·`DJIGimbalAdvancedSet​tingsProfileCustom2`,​·the·SmoothTrack·and·Controller·settings·can·be·manually·changed.​·When·a·profile·is·changed·​from·a·custom·setting,​·the·current·settings·will·be·saved·in·that·custom·setting.​
351 ·*··When·the·configuration·type·to·`DJIGimbalUserConfigT​ypeCustom1`·or·`DJIGimbalUserConfigT​ypeCustom2`,​·the·user·can·change
352 ·*··the·configuration·by·calling·methods·related·to·`smoothTracking`.​
353 ·​*/​612 ·​*/​
354 @property(nonatomic,​·​readonly)​·​DJIGimbalUserConfigTy​pe·configType;​613 @property(nonatomic,​·​readonly)​·​DJIGimbalAdvancedSett​ingsProfile·profile;​
355 614
356 /​**615 /​**
357 ·​*··​YES·​if·​gimbal·​SmoothTrack·​is·​enabled·​for·​the·​yaw·​axis.​616 ·​*··​YES·​if·​gimbal·​SmoothTrack·​is·​enabled·​for·​the·​yaw·​axis.​
358 ·​*/​617 ·​*/​
359 @property(nonatomic,​·​readonly)​·​BOOL·​isSmoothTrackYawEnabl​ed;​618 @property(nonatomic,​·​readonly)​·​BOOL·​isSmoothTrackEnabledY​aw;​
360 619
361 /​**620 /​**
362 ·​*··​YES·​if·​gimbal·​SmoothTrack·​is·​enabled·​for·​the·​pitch·​axis.​621 ·​*··​YES·​if·​gimbal·​SmoothTrack·​is·​enabled·​for·​the·​pitch·​axis.​
363 ·​*/​622 ·​*/​
364 @property(nonatomic,​·​readonly)​·​BOOL·​isSmoothTrackPitchEna​bled;​623 @property(nonatomic,​·​readonly)​·​BOOL·​isSmoothTrackEnabledP​itch;​
365 624
366 /​**625 /​**
367 ·​*··​SmoothTrack·​yaw·​axis·​speed·​determines·​how·​fast·​the·​gimbal·​will·​catch·​up·​with·​the·​translated·​yaw·​handle·​movement.​626 ·​*··​SmoothTrack·​yaw·​axis·​speed·​determines·​how·​fast·​the·​gimbal·​will·​catch·​up·​with·​the·​translated·​yaw·​handle·​movement.​
368 ·​*··​Range·​is·​[0,​100].​627 ·​*··​Range·​is·​[0,​100].​
369 ·​*/​628 ·​*/​
370 @property(nonatomic,​·​readonly)​·​NSInteger·​smoothTrackYawSpeed;​629 @property(nonatomic,​·​readonly)​·​NSInteger·​smoothTrackSpeedYaw;​
371 630
372 /​**631 /​**
373 ·​*··​SmoothTrack·​pitch·​axis·​speed·​determines·​how·​fast·​the·​gimbal·​will·​catch·​up·​with·​the·​translated·​pitch·​handle·​movement.​632 ·​*··​SmoothTrack·​pitch·​axis·​speed·​determines·​how·​fast·​the·​gimbal·​will·​catch·​up·​with·​the·​translated·​pitch·​handle·​movement.​
374 ·​*··​Range·​is·​[0,​100].​633 ·​*··​Range·​is·​[0,​100].​
375 ·​*/​634 ·​*/​
376 @property(nonatomic,​·​readonly)​·​NSInteger·​smoothTrackPitchSpeed​;​635 @property(nonatomic,​·​readonly)​·​NSInteger·​smoothTrackSpeedPitch​;​
377 636
378 /​**637 /​**
379 ·​*···​A·​larger·​SmoothTrack·​yaw·​axis·​deadband·​requires·​more·​yaw·​handle·​movement·​to·​translate·​into·​gimbal·​motion.​638 ·​*···​A·​larger·​SmoothTrack·​yaw·​axis·​deadband·​requires·​more·​yaw·​handle·​movement·​to·​translate·​into·​gimbal·​motion.​
380 ·​*··​Range·​is·​[0,​90]·​degrees.​639 ·​*··​Range·​is·​[0,​90]·​degrees.​
381 ·​*/​640 ·​*/​
382 @property(nonatomic,​·​readonly)​·​NSInteger·​smoothTrackYawDeadban​d;​641 @property(nonatomic,​·​readonly)​·​NSInteger·​smoothTrackDeadbandYa​w;​
383 642
384 /​**643 /​**
385 ·​*···​A·​larger·​SmoothTrack·​pitch·​axis·​deadband·​requires·​more·​pitch·​handle·​movement·​to·​translate·​into·​gimbal·​motion.​644 ·​*···​A·​larger·​SmoothTrack·​pitch·​axis·​deadband·​requires·​more·​pitch·​handle·​movement·​to·​translate·​into·​gimbal·​motion.​
386 ·​*··​Range·​is·​[0,​90]·​degrees.​645 ·​*··​Range·​is·​[0,​90]·​degrees.​
387 ·​*/​646 ·​*/​
388 @property(nonatomic,​·​readonly)​·​NSInteger·​smoothTrackPitchDeadb​and;​647 @property(nonatomic,​·​readonly)​·​NSInteger·​smoothTrackDeadbandPi​tch;​
389 648
390 /​**649 /​**
391 ·​*··​SmoothTrack·​yaw·​axis·​acceleration·​determines·​how·​closely·​the·camera·​will·​follow·​the·​translated·yaw·handle·​movement.​650 ·​*··​SmoothTrack·​yaw·​axis·​acceleration·​determines·​how·​closely·​the·gimbal's·yaw·axis·​will·​follow·​the·​translated·controller·​movement.​
392 ·​*··​Range·​is·​[0,​30].​651 ·​*··​Range·​is·​[0,​30].​
393 ·​*/​652 ·​*/​
394 @property(nonatomic,​·​readonly)​·​NSInteger·​smoothTrackYawAcceler​ation;​653 @property(nonatomic,​·​readonly)​·​NSInteger·​smoothTrackAccelerati​onYaw;​
395 654
396 /​**655 /​**
397 ·​*··​SmoothTrack·​pitch·​axis·​acceleration·​determines·​how·​closely·​the·camera·​will·​follow·​the·​translated·pitch·handle·​movement.​656 ·​*··​SmoothTrack·​pitch·​axis·​acceleration·​determines·​how·​closely·​the·gimbal's·yaw·axis·​will·​follow·​the·​translated·​controller·​movement.​
398 ·​*··​Range·​is·​[0,​30].​657 ·​*··​Range·​is·​[0,​30].​
399 ·​*/​658 ·​*/​
400 @property(nonatomic,​·​readonly)​·​NSInteger·​smoothTrackPitchAccel​eration;​659 @property(nonatomic,​·​readonly)​·​NSInteger·​smoothTrackAccelerati​onPitch;​
401 660
402 /​**661 /​**
403 ·​*··Joystick·​yaw·​axis·​smoothing·​controls·​the·​deceleration·​of·​the·​gimbal.​·​A·​small·​value·​will·​cause·​the·​gimbal·​to·​stop·​abruptly.​662 ·​*··Controller·​yaw·​axis·​smoothing·​controls·​the·​deceleration·​of·​the·​gimbal.​·​A·​small·​value·​will·​cause·​the·​gimbal·​to·​stop·​abruptly.​
404 ·​*··​Range·​is·​[0,​30].​663 ·​*··​Range·​is·​[0,​30].​
405 ·​*/​664 ·​*/​
406 @property(nonatomic,​·​readonly)​·​NSInteger·joystickYawSmoothing;​665 @property(nonatomic,​·​readonly)​·​NSInteger·controllerSmoothingYa​w;​
407 666
408 /​**667 /​**
409 ·​*··Joystick·​pitch·​axis·​smoothing·​controls·​the·​deceleration·​of·​the·​gimbal.​·​A·​small·​value·​will·​cause·​the·​gimbal·​to·​stop·​abruptly.​668 ·​*··Controller·​pitch·​axis·​smoothing·​controls·​the·​deceleration·​of·​the·​gimbal.​·​A·​small·​value·​will·​cause·​the·​gimbal·​to·​stop·​abruptly.​
410 ·​*··​Range·​is·​[0,​30].​669 ·​*··​Range·​is·​[0,​30].​
411 ·​*/​670 ·​*/​
412 @property(nonatomic,​·​readonly)​·​NSInteger·joystickPitchSmoothin​g;​671 @property(nonatomic,​·​readonly)​·​NSInteger·controllerSmoothingPi​tch;​
413 672
414 /​**673 /​**
415 ·​*··Joystick·​yaw·​axis·speed.​674 ·​*··Controller·yaw·axis·speed·determines·how·sensitively·the·gimbal's·​yaw·​axis·will·follow·the·controller·movement.​
416 ·​*··​Range·​is·​[0,​100].​675 ·​*··​Range·​is·​[0,​100].​
417 ·​*/​676 ·​*/​
418 @property(nonatomic,​·​readonly)​·​NSInteger·joystickYawSpeed;​677 @property(nonatomic,​·​readonly)​·​NSInteger·controllerSpeedYaw;​
419 678
420 /​**679 /​**
421 ·​*··Joystick·​pitch·​axis·speed.​680 ·​*··Controller·pitch·axis·speed·determines·how·sensitively·the·gimbal's·​pitch·​axis·will·follow·the·controller·movement.​
422 ·​*··​Range·​is·​[0,​100].​681 ·​*··​Range·​is·​[0,​100].​
423 ·​*/​682 ·​*/​
424 @property(nonatomic,​·​readonly)​·​NSInteger·joystickPitchSpeed;​683 @property(nonatomic,​·​readonly)​·​NSInteger·controllerSpeedPitch;​
425 684
426 @end685 @end
427 686
428 /​*********************​*********************​*********************​******************/​687 /​*********************​*********************​*********************​******************/​
429 #pragma·​mark·​-​·​GimbalAttitudeResultB​lock
430 /​*********************​*********************​*********************​******************/​
431
432 /​**
433 ·​*··​Typedef·​block·​to·​be·​invoked·​when·​the·​remote·​attitude·​data·​is·​successfully·​changed.​
434 ·​*/​
435 typedef·​void·​(^GimbalAttitudeResul​tBlock)​(DJIGimbalAttitude·​attitudeInDegrees)​;​
436
437 /​*********************​*********************​*********************​******************/​
438 #pragma·​mark·​-​·​DJIGimbalDelegate688 #pragma·​mark·​-​·​DJIGimbalDelegate
439 /​*********************​*********************​*********************​******************/​689 /​*********************​*********************​*********************​******************/​
440 690
450 /​**700 /​**
451 ·​*··​Updates·​the·​gimbal's·​current·​state.​701 ·​*··​Updates·​the·​gimbal's·​current·​state.​
452 ·​*/​702 ·​*/​
453 -​·​(void)​gimbalController:​(DJIGimbal·​*)​controller·​didUpdateGimbalState:​(DJIGimbalState·​*)​gimbalState;​703 -​·​(void)​gimbal:​(DJIGimbal·​*_Nonnull)​gimbal·​didUpdateGimbalState:​(DJIGimbalState·​*_Nonnull)​gimbalState;​
454 704
455 /​**705 /​**
456 ·​*··​Update·​the·​gimbal's·​user·​configuration·​data.​·​This·​method·​is·​only·​supported·​for·​Osmo.​706 ·​*··​Update·​the·​gimbal's·​user·​configuration·​data.​·​This·​method·​is·​only·​supported·​for·​Osmo.​
457 ·​*/​707 ·​*/​
458 -​·​(void)​gimbalController:​(DJIGimbal·​*)​controller·​didUpdateGimbalConfig​:​(DJIGimbalConfig·​*)​gimbalConfig;​708 -​·​(void)​gimbal:​(DJIGimbal·​*_Nonnull)​gimbal·​didUpdateAdvancedSett​ingsState:​(DJIGimbalAdvancedSet​tingsState·​*_Nonnull)​settingsState;​
709
710 /​**
711 ·​*··​Update·​the·​gimbal's·​remaining·​energy·​in·​percentage.​·​This·​method·​is·​only·​supported·​for·​Ronin-​MX.​
712 ·​*/​
713 -​·​(void)​gimbal:​(DJIGimbal·​*_Nonnull)​gimbal·​didUpdateGimbalBatter​yRemainingEnergy:​(NSInteger)​energy;​
459 714
460 @end715 @end
461 716
486 ·​*··​angle,this·​property·​will·​be·​used·​to·​determine·​in·​what·​duration·​of·​time·​the·​gimbal·​should741 ·​*··​angle,this·​property·​will·​be·​used·​to·​determine·​in·​what·​duration·​of·​time·​the·​gimbal·​should
487 ·​*··​rotate·​to·​its·​new·​position.​·​For·​example,​·​if·​the·​value·​of·​this·​property·​is·​set·​to·​2.​0742 ·​*··​rotate·​to·​its·​new·​position.​·​For·​example,​·​if·​the·​value·​of·​this·​property·​is·​set·​to·​2.​0
488 ·​*··​seconds,​·​the·​gimbal·​will·​rotate·​to·​its·​target·​position·​in·​2.​0·​seconds.​743 ·​*··​seconds,​·​the·​gimbal·​will·​rotate·​to·​its·​target·​position·​in·​2.​0·​seconds.​
489 ·​*··​Range·​is·​[0.​1,​25.​5]·​seconds.​744 ·​*··​Range·​is·​[0.​1,​·25.​5]·​seconds.​
490 ·*
491 ·​*/​745 ·​*/​
492 @property(nonatomic,​·​assign)​·​double·​completionTimeForCont​rolAngleAction;​746 @property(nonatomic,​·​assign)​·​double·​completionTimeForCont​rolAngleAction;​
493 747
494 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​748 /​**
749 ·​*··​Returns·​the·​gimbal's·​features·​and·​possible·​range·​of·​settings.​
750 ·​*··​Each·​dictionary·​key·​is·​a·​possible·​gimbal·​feature·​and·​uses·​the·​DJIGimbalKey·​prefix.​
751 ·​*··​The·​value·​for·​each·​key·​is·​an·​instance·​of·​`DJIParamCapability`·​or·​its·​sub-​classes.​·
752 ·​*··​The·​`isSupported`·​property·​can·​be·​used·​to·​query·​if·​a·​feature·​is·​supported·​by·​the·​gimbal
753 ·​*··​and·​the·​`min`·​and·​`max`·​properties·​of·​`DJIParamCapabilityMi​nMax`·​can·​be·​used·​to·​query·
754 ·​*··​the·​valid·​range·​for·​the·​setting.​·​When·​a·​feature·​is·​not·​supported,​·​the·​values·​for·
755 ·​*··​`min`·​and·​`max`·​are·​undefined.​
756 ·​*/​
757 @property(nonatomic,​·​readonly)​·​NSDictionary*·​_Nonnull·​gimbalCapability;​
758
759 /​*********************​*********************​*********************​******************/​
495 #pragma·​mark·​Set·​Gimbal·​Work·​Mode760 #pragma·​mark·​Set·​Gimbal·​Work·​Mode
496 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​761 /​*********************​*********************​*********************​******************/​
497 762
498 /​**763 /​**
499 ·​*··​Sets·​the·​gimbal's·​work·​mode.​·​See·​enum·​`DJIGimbalWorkMode`·​for·​modes.​764 ·​*··​Sets·​the·​gimbal's·​work·​mode.​·​See·​enum·​`DJIGimbalWorkMode`·​for·​modes.​
503 ·​*/​768 ·​*/​
504 -​·​(void)​setGimbalWorkMode:​(DJIGimbalWorkMode)​workMode·​withCompletion:​(DJICompletionBlock)​block;​769 -​·​(void)​setGimbalWorkMode:​(DJIGimbalWorkMode)​workMode·​withCompletion:​(DJICompletionBlock)​block;​
505 770
506 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​771 /​*********************​*********************​*********************​******************/​
507 #pragma·​mark·​Gimbal·​Control772 #pragma·​mark·​Gimbal·​Control
508 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​773 /​*********************​*********************​*********************​******************/​
509
510 /​**
511 ·*··Gets·the·gimbal's·constraints·including·which·axes·are·adjustable,​·and·what·the·axis·stops·are.​
512 ·*
513 ·*··@return·Gimbal's·constraints.​·If·the·SDK·and·the·aircraft·have·lost·connection·with·each·other,​·the
514 ·*··method·will·return·nil.​
515 ·*/​
516 -​·(nullable·DJIGimbalConstraints·*)​getGimbalConstraints;​
517 774
518 /​**775 /​**
519 ·​*··​Rotate·​the·​gimbal's·​pitch,​·​roll,​·​and·​yaw·​in·​Angle·​Mode.​·The·direction·can·either·be·set·to·clockwise·or·counter-​clockwise.​776 ·​*··​Rotate·​the·​gimbal's·​pitch,​·​roll,​·​and·​yaw·​in·​Angle·​Mode.​
520 ·​*777 ·​*··See·`gimbalCapability`·for·which·axes·can·be·moved·for·the·gimbal·being·used.​
521 ·*··For·Phantom·3·Professional,​·Phantom·3·Advanced·and·Phantom·3·Standard,​·roll·and·yaw·rotations·are·not·available.​·For·Inspire·1,​·Inspire·Pro·and·M100,​·pitch,​·roll·and·yaw·rotations·are·available.​·The·range·for·roll·rotation·is·[-​15,​·15].​·For·Osmo,​·roll·rotation·is·not·available.​
522 ·​*778 ·​*
523 ·​*··​@param·​pitch·​Gimbal's·​pitch·​rotation.​779 ·​*··​@param·​pitch·​Gimbal's·​pitch·​rotation.​
524 ·​*··​@param·​roll·​Gimbal's·​roll·​rotation.​780 ·​*··​@param·​roll·​Gimbal's·​roll·​rotation.​
528 -​·​(void)​rotateGimbalWithAngle​Mode:​(DJIGimbalRotateAngle​Mode)​angleMode·​pitch:​(DJIGimbalAngleRotati​on)​pitch·​roll:​(DJIGimbalAngleRotati​on)​roll·​yaw:​(DJIGimbalAngleRotati​on)​yaw·​withCompletion:​(DJICompletionBlock)​block;​784 -​·​(void)​rotateGimbalWithAngle​Mode:​(DJIGimbalRotateAngle​Mode)​angleMode·​pitch:​(DJIGimbalAngleRotati​on)​pitch·​roll:​(DJIGimbalAngleRotati​on)​roll·​yaw:​(DJIGimbalAngleRotati​on)​yaw·​withCompletion:​(DJICompletionBlock)​block;​
529 785
530 /​**786 /​**
531 ·​*··​Rotate·​the·​gimbal's·​pitch,​·​roll,​·​and·​yaw·​using·​speed.​·​The·​direction·​can·​either·​be·​set·​to787 ·​*··​Rotate·​the·​gimbal's·​pitch,​·​roll,​·​and·​yaw·​using·​speed.​·​The·​direction·​can·​either·​be·​set·to·clockwise·or·counter-​clockwise.​
532 ·​*··clockwise·​or·counter-​clockwise.​788 ·​*··See·`gimbalCapability`·for·which·axes·can·be·moved·for·the·gimbal·being·used.​
533 ·*··For·Phantom·3·Professional,​·Phantom·3·Advanced·and·Phantom·3·Standard,​·roll·and·yaw·rotations·are·not·available.​
534 ·*··For·Inspire·1,​·Inspire·Pro·and·M100,​·pitch,​·roll·and·yaw·rotations·are·available.​
535 ·*··For·Osmo,​·roll·rotation·is·not·available.​·The·`angleVelocity`·range·of·`DJIGimbalSpeedRotati​on`·for·yaw·and·pitch·is·(0,​·120)​.​
536 ·​*789 ·​*
537 ·​*··​@param·​pitch·​Gimbal's·​pitch·​rotation.​790 ·​*··​@param·​pitch·​Gimbal's·​pitch·​rotation.​
538 ·​*··​@param·​roll·​Gimbal's·​roll·​rotation.​791 ·​*··​@param·​roll·​Gimbal's·​roll·​rotation.​
542 -​·​(void)​rotateGimbalBySpeedWi​thPitch:​(DJIGimbalSpeedRotati​on)​pitch·​roll:​(DJIGimbalSpeedRotati​on)​roll·​yaw:​(DJIGimbalSpeedRotati​on)​yaw·​withCompletion:​(DJICompletionBlock)​block;​795 -​·​(void)​rotateGimbalBySpeedWi​thPitch:​(DJIGimbalSpeedRotati​on)​pitch·​roll:​(DJIGimbalSpeedRotati​on)​roll·​yaw:​(DJIGimbalSpeedRotati​on)​yaw·​withCompletion:​(DJICompletionBlock)​block;​
543 796
544 /​**797 /​**
545 ·​*··​Resets·​the·​gimbal.​·​The·​gimbal's·​pitch,​·​roll,​·​and·​yaw·​will·​be·​set·​to·​the·​origin,​·​which·​is798 ·​*··​Resets·​the·​gimbal.​·​The·​gimbal's·​pitch,​·​roll,​·​and·​yaw·​will·​be·​set·​to·​the·​origin,​·​which·​is·the·standard·position·for·the·gimbal.​
546 ·*··the·standard·position·for·the·gimbal.​
547 ·​*799 ·​*
548 ·​*··​@param·​block·​Remote·​execution·​result·​error·​block.​800 ·​*··​@param·​block·​Remote·​execution·​result·​error·​block.​
549 ·​*/​801 ·​*/​
550 -​·​(void)​resetGimbalWithComple​tion:​(DJICompletionBlock)​block;​802 -​·​(void)​resetGimbalWithComple​tion:​(DJICompletionBlock)​block;​
551 803
552 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​804 /​*********************​*********************​*********************​******************/​
553 #pragma·​mark·​Gimbal·​Calibration805 #pragma·​mark·​Gimbal·​Calibration
554 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​806 /​*********************​*********************​*********************​******************/​
807
555 /​**808 /​**
556 ·​*··​Starts·​calibrating·​the·​gimbal.​·​The·​product·​should·​be·​stationary·​(not·​flying,​·​or·​being·​held)​·​and·​horizontal·​during·​calibration.​·809 ·​*··​Starts·​calibrating·​the·​gimbal.​·​The·​product·​should·​be·​stationary·​(not·​flying,​·​or·​being·​held)​·​and·​horizontal·​during·​calibration.​·
810 ·​*··​For·​gimbal's·​with·​adjustable·​payloads,​·​the·​payload·​should·​be·​present·​and·​balanced·​before·​doing·​a·​calibration.​
557 ·​*811 ·​*
558 ·​*··​@param·​block·​Remote·​execution·​result·​error·​block.​812 ·​*··​@param·​block·​Remote·​execution·​result·​error·​block.​
559 ·​*/​813 ·​*/​
569 ·​*/​823 ·​*/​
570 -​·​(void)​fineTuneGimbalRollInD​egrees:​(float)​offset·​withCompletion:​(DJICompletionBlock)​block;​824 -​·​(void)​fineTuneGimbalRollInD​egrees:​(float)​offset·​withCompletion:​(DJICompletionBlock)​block;​
571 825
572 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​826 /​**
573 #pragma·mark·Gimbal·User·Config827 ·*··Starts·testing·the·balance·of·the·gimbal·payload.​
574 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​828 ·*··For·gimbals·that·allow·payloads·to·be·changed,​·a·balance·test·should·be·performed·to·ensure·the·camera·is·mounted·correctly.​
829 ·​*··​The·​product·​should·​be·​stationary·​(not·​flying,​·​or·​being·​held)​·​and·​horizontal·​during·​testing.​·​See·​`DJIGimbalState`·​for·​the·​test·​result.​
830 ·​*··​Only·​supported·​by·​Ronin-​MX.​
831 ·​*
832 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​execution·​result.​·​The·​completion·​block·​will·​return·​when·​the·​balance·​test·​is·​successfully·​started.​
833 ·​*/​
834 -​·​(void)​startGimbalBalanceTes​tWithCompletion:​(DJICompletionBlock)​block;​
835
836 /​*********************​*********************​*********************​******************/​
837 #pragma·​mark·​-​·​Gimbal·​Advanced·​Setting
838 /​*********************​*********************​*********************​******************/​
575 839
576 /​**840 /​**
577 ·​*···YES·​if·gimbal·​supports·​a·user·configuration·(Osmo·​only)​.​841 ·​*··Sets·the·advanced·settings·profile.​·The·advanced·settings·profile·has·options·for·both·preset·and·custom·profiles
842 ·​*··​for·​SmoothTrack·​and·​Controller·​settings.​·​Settings·​for·​SmoothTrack·​and·​Controller·​can·​only·​be·​set·​manually·​when·​using·​a·​custom·​profile.​
843 ·​*··​Use·​`DJIGimbalKeyAdvanced​SettingsProfile`·​in·​`gimbalCapability`·​to·​check·​if·​it·​is·​supported·​by·​the·​gimbal.​
844 ·​*··​Only·​supported·​by·​Osmo.​
845 ·​*
846 ·​*··​@param·​profile·​Profile·​to·​set.​
847 ·​*··​@param·​block·​Completion·​block·​that·​receives·​the·​execution·​result.​
578 ·​*/​848 ·​*/​
579 -​·​(BOOL)​isUserConfigSupported​;​849 -​·​(void)​setAdvancedSettingsPr​ofile:​(DJIGimbalAdvancedSet​tingsProfile)​profile·withCompletion:​(DJICompletionBlock)​block;​
580 850
581 /​**851 /​**
582 ·​*··Sets·gimbal·user·configuration·type.​852 ·​*··Gets·the·advanced·settings·profile.​
853 ·​*··​Use·​`DJIGimbalKeyAdvanced​SettingsProfile`·​to·​check·​if·​it·​is·​supported·​by·​the·​gimbal.​
854 ·​*··​Only·​supported·​by·​Osmo.​
583 ·​*855 ·​*
584 ·​*··​@param·userConfigType·Gimbal·User·Configure·type.​856 ·​*··​@param·block·Completion·block·that·receives·the·execution·result.​
585 ·​*··@param·block·Set·Gimbal·User·Config·result·block.​857 ·​*/​
858 -​·​(void)​getAdvancedSettingsPr​ofileWithCompletion:​(void·​(^_Nonnull)​(DJIGimbalAdvancedSet​tingsProfile·​profile,​·​NSError·​*_Nullable·​error)​)​block;​
859
860 /​**
861 ·​*··​Restores·​the·​gimbal's·​settings·​to·​factory·​settings.​
586 ·​*862 ·​*
863 ·​*··​@param·​block····​The·​completion·​block·​that·​receives·​execution·​result.​
587 ·​*/​864 ·​*/​
588 -​·​(void)​setGimbalUserConfigTy​pe:​(DJIGimbalUserConfigT​ype)​userConfigType·withCompletion:​(DJICompletionBlock)​block;​865 -​·​(void)​loadFactorySettings:​(DJICompletionBlock)​block;​
866
867 /​*********************​*********************​*********************​******************/​
868 #pragma·​mark·​Gimbal·​Range·​Extension
869 /​*********************​*********************​*********************​******************/​
589 870
590 /​**871 /​**
591 ·​*··Gets·​gimbal·​user·configuration·​type.​872 ·​*··Extends·the·pitch·range·of·​gimbal.​·Currently,​·it·is·only·supported·by·Phantom·3·Series·and·Phantom·4.​·If·extended,​·​the·gimbal's·pitch·control·range·can·be·[-​30,​·90],​·otherwise,​·it's·[0,​·90].​
873 ·​*··​Use·​`DJIGimbalKeyPitchRan​geExtension`·​to·​check·​if·​it·​is·​supported·​by·​the·​gimbal.​
592 ·​*874 ·​*
593 ·​*··​@param·block·Get·Gimbal·User·Config·​result·​block.​875 ·​*··​@param·shouldExtend·Whether·the·pitch·​range·should·​be·extended
876 ·​*··​@param·​block·​The·​completion·​block·​that·​receives·​execution·​result.​
877 ·​*/​
878 -​·​(void)​setPitchRangeExtensio​nEnabled:​(BOOL)​shouldExtend·​withCompletion:​(DJICompletionBlock)​block;​
879
880 /​**
881 ·​*··​Get·​the·​extend·​gimbal·​pitch·​range·​state.​·
882 ·​*··​Use·​`DJIGimbalKeyPitchRan​geExtension`·​to·​check·​if·​it·​is·​supported·​by·​the·​gimbal.​
594 ·​*883 ·​*
884 ·​*··​@param·​shouldExtend·​Whether·​the·​pitch·​range·​should·​be·​extended
885 ·​*··​@param·​block········​The·​completion·​block·​that·​receives·​execution·​result.​
595 ·​*/​886 ·​*/​
596 -​·​(void)​getGimbalUserConfigTy​peWithCompletion:​(void·​(^)​(DJIGimbalUserConfigT​ype·userConfigType,​·BOOL·success)​)​block;​887 -​·​(void)​getPitchRangeExtensio​nEnabledWithCompletio​n:​(void·​(^_Nonnull)​(BOOL·isExtended,​·NSError·*_Nullable·error)​)​block;​
597 ;​888
889 /​*********************​*********************​*********************​******************/​
890 #pragma·​mark·​Gimbal·​Motor·​Control·​Configuration
891 /​*********************​*********************​*********************​******************/​
598 892
599 /​**893 /​**
600 ·​*··Enables·a·​gimbal·SmoothTrack·​axis.​894 ·​*··Configures·​gimbal's·motor·control·with·a·preset·configuration·applicable·for·most·popular·cameras.​·
895 ·​*··​In·​order·​to·​the·​optimize·​the·​performance,​·​motor·​control·​tuning·​is·​still·​required.​
601 ·​*896 ·​*
602 ·​*··​@param·axis·Gimbal·axis.​897 ·​*··​@param·preset···The·preset·configuration·to·set.​
603 ·​*··​@param·enabled·YES·if·SmoothTrack·is·to·be·enabled·on·axis.​898 ·​*··​@param·block····The·completion·block·that·receives·execution·result.​
604 ·​*··@param·block·set·if·Gimbal·SmoothTrack·Adjustment·is·available·to·be·customized·in·the·specific·direction·result·block.​899 ·​*/​
900 -​·​(void)​configureMotorControl​WithPreset:​(DJIGimbalMotorContro​lPreset)​preset·​withCompletion:​(DJICompletionBlock)​block;​
901
902 /​**
903 ·​*··​Sets·​the·​coefficient·​of·​speed·​error·​control.​·​It·​can·​be·​seen·​as·​the·​coefficient·​for·​the·​proportional·​term·​in·​the·​PID·​controller.​·​Only·​supported·​by·​Ronin-​MX.​
904 ·​*··​Use·​`DJIGimbalKeyMotorCon​trolStiffnessPitch`,​·​`DJIGimbalKeyMotorCon​trolStiffnessYaw`·​and·​`DJIGimbalKeyMotorCon​trolStiffnessRoll`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
605 ·​*905 ·​*
906 ·​*···​@param·​stiffness···​The·​stiffness·​value·​to·​set.​
907 ·​*···​@param·​axis········​The·​axis·​that·​the·​setting·​is·​applied·​to.​
908 ·​*···​@param·​block·······​The·​completion·​block·​that·​receives·​execution·​result.​
606 ·​*/​909 ·​*/​
607 -​·​(void)​setGimbalSmoothTrackA​xisEnabledOnAxis:​(DJIGimbalSmoothTrack​Axis)​axis·isEnabled:​(BOOL)​enabled·​withCompletion:​(DJICompletionBlock)​block;​910 -​·​(void)​setMotorControlStiffn​ess:​(NSInteger)​stiffness·onAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(DJICompletionBlock)​block;​
911 /​**
912 ·​*··​Gets·​the·​coefficient·​of·​speed·​error·​control.​·​It·​can·​be·​seen·​as·​the·​coefficient·​for·​the·​proportional·​term·​in·​the·​PID·​controller.​·​Only·​supported·​by·​Ronin-​MX.​
913 ·​*··​Use·​`DJIGimbalKeyMotorCon​trolStiffnessPitch`,​·​`DJIGimbalKeyMotorCon​trolStiffnessYaw`·​and·​`DJIGimbalKeyMotorCon​trolStiffnessRoll`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
914 ·​*
915 ·​*··​@param·​axis·····​The·​axis·​to·​query.​
916 ·​*··​@param·​block····​The·​completion·​block·​that·​receives·​execution·​result.​
917 ·​*/​
918 -​·​(void)​getMotorControlStiffn​essOnAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(void·​(^_Nonnull)​(NSInteger·​stiffness,​·​NSError·​*_Nullable·​error)​)​block;​
608 919
609 /​**920 /​**
610 ·​*··Gets·whether·​an·axis·has·SmoothTrack·​enabled.​921 ·​*··Sets·the·coefficient·of·attitude·accuracy·control.​·It·can·be·seen·as·the·coefficient·for·the·integral·term·in·the·PID·controller.​·Only·supported·by·Ronin-​MX.​
922 ·​*··​Use·​`DJIGimbalKeyMotorCon​trolStrengthPitch`,​·​`DJIGimbalKeyMotorCon​trolStrengthYaw`·​and·​`DJIGimbalKeyMotorCon​trolStrengthRoll`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
923 ·​*
924 ·​*···​@param·​strength····​The·​strength·​value·​to·​set.​
925 ·​*···​@param·​axis········​The·​axis·​that·​the·​setting·​is·​applied·​to.​
926 ·​*···​@param·​block·······​The·​completion·​block·​that·​receives·​execution·​result.​
927 ·​*/​
928 -​·​(void)​setMotorControlStreng​th:​(NSInteger)​strength·​onAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(DJICompletionBlock)​block;​
929 /​**
930 ·​*··​Gets·​the·​coefficient·​of·​attitude·​accuracy·​control.​·​It·​can·​be·​seen·​as·​the·​coefficient·​for·​the·​integral·​term·​in·​the·​PID·​controller.​·​Only·​supported·​by·​Ronin-​MX.​
931 ·​*··​Use·​`DJIGimbalKeyMotorCon​trolStrengthPitch`,​·​`DJIGimbalKeyMotorCon​trolStrengthYaw`·​and·​`DJIGimbalKeyMotorCon​trolStrengthRoll`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
611 ·​*932 ·​*
612 ·​*··​@param·​axis·Gimbal·​axis.​933 ·​*··​@param·​axis·····The·​axis·to·query.​
613 ·​*··​@param·​block·get·if·Gimbal·SmoothTrack·Adjustment·is·available·to·be·customized·in·the·specific·direction·​result·block.​934 ·​*··​@param·​block····​The·completion·block·that·receives·execution·​result.​
614 ·​*/​935 ·​*/​
615 -​·​(void)​getGimbalSmoothTrackA​xisEnabledOnAxis:​(DJIGimbalSmoothTrack​Axis)​axis·​withCompletion:​(void·​(^)​(BOOL·isEnabled,​·BOOL·success)​)​block;​936 -​·​(void)​getMotorControlStreng​thOnAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(void·​(^_Nonnull)​(NSInteger·strength,​·NSError·*_Nullable·error)​)​block;​
616 937
617 /​**938 /​**
618 ·​*··​Sets·gimbal·SmoothTrack·catch·up·speed·on·an·axis.​·SmoothTrack·speed·​determines·how·fast·​the·gimbal·will·catch·up·with·a·large,​·translated·handle·movement·and·has·a·range·[0,​100].​939 ·​*··​Sets·​the·​coefficient·of·​denoising·​the·output.​·Only·supported·by·Ronin-​MX.​
940 ·​*··​Use·​`DJIGimbalKeyMotorCon​trolGyroFilteringPitc​h`,​·​`DJIGimbalKeyMotorCon​trolGyroFilteringYaw`​·​and·​`DJIGimbalKeyMotorCon​trolGyroFilteringRoll​`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
619 ·​*941 ·​*
620 ·​*··​@param·axis·Gimbal·axis.​942 ·​*···​@param·filtering···The·gyro·filtering·value·to·set.​
621 ·​*··​@param·​speed·SmoothTrack·​speed·[0,​100].​943 ·​*···​@param·axis········The·axis·that·the·​setting·is·applied·to.​
622 ·​*··​@param·​block·set·Gimbal·SmoothTrack·Adjustment·speed·in·specific·direction·​result·block.​944 ·​*···​@param·​block·······The·completion·block·that·receives·execution·​result.​
623 ·​*/​945 ·​*/​
624 -​·​(void)​setGimbalSmoothTrackS​peedOnAxis:​(DJIGimbalSmoothTrack​Axis)​axis·speed:​(NSInteger)​speed·​withCompletion:​(DJICompletionBlock)​block;​946 -​·​(void)​setMotorControlGyroFi​ltering:​(NSInteger)​filtering·onAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(DJICompletionBlock)​block;​
947 /​**
948 ·​*··​Gets·​the·​coefficient·​of·​denoising·​the·​output.​·​Only·​supported·​by·​Ronin-​MX.​
949 ·​*··​Use·​`DJIGimbalKeyMotorCon​trolGyroFilteringPitc​h`,​·​`DJIGimbalKeyMotorCon​trolGyroFilteringYaw`​·​and·​`DJIGimbalKeyMotorCon​trolGyroFilteringRoll​`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
950 ·​*
951 ·​*··​@param·​axis·····​The·​axis·​to·​query.​
952 ·​*··​@param·​block····​The·​completion·​block·​that·​receives·​execution·​result.​
953 ·​*/​
954 -​·​(void)​getMotorControlGyroFi​lteringOnAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(void·​(^_Nonnull)​(NSInteger·​filtering,​·​NSError·​*_Nullable·​error)​)​block;​
625 955
626 /​**956 /​**
627 ·​*··Gets·gimbal·SmoothTrack·speed·on·​an·axis.​·SmoothTrack·speed·determines·how·​fast·​the·gimbal·will·catch·up·with·a·large,​·translated·handle·movement·and·will·have·a·range·[0,​100].​957 ·​*··Sets·the·value·for·pre-​adjust.​·It·can·be·seen·as·the·coefficient·​for·​the·derivative·term·in·​the·PID·controller.​·Only·supported·by·Ronin-​MX.​
958 ·​*··​Use·​`DJIGimbalKeyMotorCon​trolPrecontrolPitch`,​·​`DJIGimbalKeyMotorCon​trolPrecontrolYaw`·​and·​`DJIGimbalKeyMotorCon​trolPrecontrolRoll`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
959 ·​*
960 ·​*···​@param·​precontrol··​The·​Precontrol·​value·​to·​set.​
961 ·​*···​@param·​axis········​The·​axis·​that·​the·​setting·​is·​applied·​to.​
962 ·​*···​@param·​block·······​The·​completion·​block·​that·​receives·​execution·​result.​
963 ·​*/​
964 -​·​(void)​setMotorControlPrecon​trol:​(NSInteger)​precontrol·​onAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(DJICompletionBlock)​block;​
965 /​**
966 ·​*··​Gets·​the·​value·​for·​pre-​adjust.​·​It·​can·​be·​seen·​as·​the·​coefficient·​for·​the·​derivative·​term·​in·​the·​PID·​controller.​·​Only·​supported·​by·​Ronin-​MX.​
967 ·​*··​Use·​`DJIGimbalKeyMotorCon​trolPrecontrolPitch`,​·​`DJIGimbalKeyMotorCon​trolPrecontrolYaw`·​and·​`DJIGimbalKeyMotorCon​trolPrecontrolRoll`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
628 ·​*968 ·​*
629 ·​*··​@param·​axis·Gimbal·​axis.​969 ·​*··​@param·​axis·····The·​axis·to·query.​
630 ·​*··​@param·​block·get·Gimbal·SmoothTrack·Adjustment·speed·in·specific·direction·​result·block.​970 ·​*··​@param·​block····The·completion·block·​that·receives·execution·​result.​
631 ·​*/​971 ·​*/​
632 -​·​(void)​getGimbalSmoothTrackS​peedOnAxis:​(DJIGimbalSmoothTrack​Axis)​axis·​withCompletion:​(void·​(^)​(NSInteger·speed,​·BOOL·success)​)​block;​972 -​·​(void)​getMotorControlPrecon​trolOnAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(void·​(^_Nonnull)​(NSInteger·precontrol,​·NSError·*_Nullable·error)​)​block;​
973
974 /​*********************​*********************​*********************​******************/​
975 #pragma·​mark·​Gimbal·​Controller·​Setting
976 /​*********************​*********************​*********************​******************/​
633 977
634 /​**978 /​**
635 ·​*··​Sets·SmoothTrack·​deadband·​on·​an·​axis.​·​A·​larger·​deadband·​requires·​more·handle·​movement·​to·translate·into·​gimbal·​motion.​·Deadband·has·a·range·of·[0,​90]·degrees.​979 ·​*··​Sets·physical·controller·(e.​g.​·the·joystick·on·Osmo·or·the·remote·controller·of·the·aircraft)​·​deadband·​on·​an·​axis.​·​A·​larger·​deadband·​requires·​more·controller·​movement·​to·​start·​gimbal·​motion.​
980 ·​*··​Use·​`DJIGimbalKeyControll​erDeadbandYaw`·​and·​`DJIGimbalKeyControll​erDeadbandPitch`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
636 ·​*981 ·​*
637 ·​*··​@param·​axis·Gimbal·axis.​982 ·​*··​@param·deadband·The·deadband·value·to·be·set.​
638 ·​*··​@param·deadband·SmoothTrack·deadband·[0,​90].​983 ·​*··​@param·axis·····The·axis·that·the·setting·will·be·applied·to.​
639 ·​*··​@param·​block·set·Gimbal·SmoothTrack·Adjustment·deadband·in·specific·direction·​result·block.​984 ·​*··​@param·​block····The·completion·block·​that·receives·execution·​result.​
985 ·​*/​
986 -​·​(void)​setControllerDeadband​:​(NSInteger)​deadband·​onAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(DJICompletionBlock)​block;​
987 /​**
988 ·​*··​Gets·​physical·​controller·​deadband·​value·​on·​an·​axis.​·​A·​larger·​deadband·​requires·​more·​controller·​movement·​to·​start·​gimbal·​motion.​
989 ·​*··​Use·​`DJIGimbalKeyControll​erDeadbandYaw`·​and·​`DJIGimbalKeyControll​erDeadbandPitch`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
990 ·​*··​@param·​axis·····​The·​axis·​to·​query.​
991 ·​*··​@param·​block····​The·​completion·​block·​that·​receives·​execution·​result.​
640 ·​*/​992 ·​*/​
993 -​·​(void)​getControllerDeadband​OnAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(void·​(^_Nonnull)​(NSInteger·​deadband,​·​NSError·​*_Nullable·​error)​)​block;​
641 994
642 -​·(void)​setGimbalSmoothTrackD​eadbandOnAxis:​(DJIGimbalSmoothTrack​Axis)​axis·deadband:​(NSInteger)​deadband·withCompletion:​(DJICompletionBlock)​block;​995 /​**
996 ·​*··​Sets·​physical·​controller·​(e.​g.​·​the·​joystick·​on·​Osmo·​or·​the·​remote·​controller·​of·​the·​aircraft)​·​speed·​on·​an·​axis.​·​Speed·​setting·​controls·​the·​mapping·​between·​the·​movement·​of·​the·​controller·​and·​the·​gimbal·​speed.​
997 ·​*··​Use·​`DJIGimbalKeyControll​erSpeedYaw`·​and·​`DJIGimbalKeyControll​erSpeedPitch`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
998 ·
999 ·​*··​@param·​speed····​The·​speed·​value·​to·​be·​set.​
1000 ·​*··​@param·​axis·····​The·​axis·​that·​the·​setting·​will·​be·​applied·​to.​
1001 ·​*··​@param·​block····​The·​completion·​block·​that·​receives·​execution·​result.​
1002 ·​*/​
1003 -​·​(void)​setControllerSpeed:​(NSInteger)​speed·​onAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(DJICompletionBlock)​block;​
1004 /​**
1005 ·​*··​Gets·​physical·​controller·​speed·​value·​on·​an·​axis.​·​Speed·​setting·​controls·​the·​mapping·​between·​the·​movement·​of·​the·​controller·​and·​the·​gimbal·​speed.​
1006 ·​*··​Use·​`DJIGimbalKeyControll​erSpeedYaw`·​and·​`DJIGimbalKeyControll​erSpeedPitch`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
1007 ·
1008 ·​*··​@param·​axis·····​The·​axis·​to·​query.​
1009 ·​*··​@param·​block····​The·​completion·​block·​that·​receives·​execution·​result.​
1010 ·​*/​
1011 -​·​(void)​getControllerSpeedOnA​xis:​(DJIGimbalAxis)​axis·​withCompletion:​(void·​(^_Nonnull)​(NSInteger·​speed,​·​NSError·​*_Nullable·​error)​)​block;​
643 1012
644 /​**1013 /​**
645 ·​*··Gets·SmoothTrack·deadband·on·an·axis.​·A·larger·deadband·requires·more·handle·movement·to·translate·into·gimbal·​motion.​·Deadband·​has·a·range·​of·[0,​90]·degrees.​1014 ·​*··Sets·physical·controller·(e.​g.​·the·joystick·on·Osmo·or·the·remote·controller·of·the·aircraft)​·smoothing·on·an·axis.​·Smoothing·controls·the·deceleration·​of·the·gimbal.​
1015 ·​*··​Use·​`DJIGimbalKeyControll​erSmoothingYaw`·​and·​`DJIGimbalKeyControll​erSmoothingPitch`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
646 ·​*1016 ·​*
647 ·​*··​@param·axis·Gimbal·axis.​1017 ·​*··​@param·smoothing····The·smoothing·value·to·be·set.​
648 ·​*··​@param·block·get·Gimbal·SmoothTrack·Adjustment·deadband·in·specific·direction·result·block.​1018 ·​*··​@param·axis·········The·axis·that·​the·setting·will·be·applied·to.​
1019 ·​*··​@param·​block········​The·​completion·​block·​that·​receives·​execution·​result.​
649 ·​*/​1020 ·​*/​
1021 -​·​(void)​setControllerSmoothin​g:​(NSInteger)​smoothing·​onAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(DJICompletionBlock)​block;​
1022 /​**
1023 ·​*··​Gets·​physical·​controller·​smoothing·​value·​on·​an·​axis.​·​Smoothing·​controls·​the·​deceleration·​of·​the·​gimbal.​
1024 ·​*··​Use·​`DJIGimbalKeyControll​erSmoothingYaw`·​and·​`DJIGimbalKeyControll​erSmoothingPitch`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
1025 ·​*
1026 ·​*··​@param·​axis·····​The·​axis·​to·​query.​
1027 ·​*··​@param·​block····​The·​completion·​block·​that·​receives·​execution·​result.​
1028 ·​*/​
1029 -​·​(void)​getControllerSmoothin​gOnAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(void·​(^_Nonnull)​(NSInteger·​smoothing,​·​NSError·​*_Nullable·​error)​)​block;​
1030 /​*********************​*********************​*********************​******************/​
1031 #pragma·​mark·​Gimbal·​Smooth·​Track·​Setting
1032 /​*********************​*********************​*********************​******************/​
650 1033
651 -​·(void)​getGimbalSmoothTrackD​eadbandOnAxis:​(DJIGimbalSmoothTrack​Axis)​axis·withCompletion:​(void·(^)​(NSInteger·deadband,​·BOOL·success)​)​block;​1034 /​**
1035 ·​*··​Enables·​SmoothTrack·​for·​the·​axis.​·​Only·​supported·​by·​Osmo.​·​Ronin-​MX·​supports·​SmoothTrack·​but·​it·​is·​always·​enabled·​for·​both·​pitch·​axis·​and·​yaw·​axis.​
1036 ·​*··​Use·​`DJIGimbalKeySmoothTr​ackEnabledPitch`·​and·​`DJIGimbalKeySmoothTr​ackEnabledYaw`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature.​
1037 ·​*
1038 ·​*··​@param·​enabled··​`YES`·​to·​enable·​SmoothTrack·​on·​the·​axis.​
1039 ·​*··​@param·​axis·····​The·​axis·​that·​the·​setting·​will·​be·​applied·​to.​
1040 ·​*··​@param·​block····​The·​completion·​block·​that·​receives·​execution·​result.​
1041 ·​*/​
1042 -​·​(void)​setSmoothTrackEnabled​:​(BOOL)​enabled·​onAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(DJICompletionBlock)​block;​
652 1043
653 /​**1044 /​**
654 ·​*··Sets·SmoothTrack·​acceleration·on·an·​axis.​·Acceleration·determines·how·closely·the·camera·will·follow·the·translated·yaw·handle·movement·and·has·a·range·of·[0,​30].​1045 ·​*··Gets·whether·an·​axis·has·SmoothTrack·enabled.​·Only·supported·by·Osmo.​·Ronin-​MX·supports·SmoothTrack·but·it·is·always·enabled·for·both·pitch·axis·​and·yaw·axis.​
1046 ·​*··​Use·​`DJIGimbalKeySmoothTr​ackEnabledPitch`·​and·​`DJIGimbalKeySmoothTr​ackEnabledYaw`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature.​
655 ·​*1047 ·​*
656 ·​*··​@param·​axis·Gimbal·​axis.​1048 ·​*··​@param·​axis·····The·​axis·to·query.​
657 ·​*··​@param·acceleration·SmoothTrack·acceleration·[0,​30].​1049 ·​*··​@param·block····The·completion·block·that·receives·execution·result.​
658 ·*··@param·block·set·Gimbal·SmoothTrack·Adjustment·acceleration·in·specific·direction·result·block.​
659 ·​*/​1050 ·​*/​
1051 -​·​(void)​getSmoothTrackEnabled​OnAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(void·​(^_Nonnull)​(BOOL·​isEnabled,​·​NSError·​*_Nullable·​error)​)​block;​
660 1052
661 -​·(void)​setGimbalSmoothTrackA​ccelerationOnAxis:​(DJIGimbalSmoothTrack​Axis)​axis·acceleration:​(NSInteger)​acceleration·withCompletion:​(DJICompletionBlock)​block;​1053 /​**
1054 ·​*··​Sets·​gimbal·​SmoothTrack·​catch·​up·​speed·​on·​an·​axis.​·​SmoothTrack·​speed·​determines·​how·​fast·​the·​gimbal·​will·​catch·​up·​with·​a·​large,​·​translated·​handle·​movement.​
1055 ·​*··​Use·​`DJIGimbalKeySmoothTr​ackSpeedPitch`·​and·​`DJIGimbalKeySmoothTr​ackSpeedYaw`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
1056 ·​*
1057 ·​*··​@param·​speed····​SmoothTrack·​speed·​[0,​100].​
1058 ·​*··​@param·​axis·····​The·​axis·​that·​the·​setting·​will·​be·​applied·​to.​
1059 ·​*··​@param·​block····​The·​completion·​block·​that·​receives·​execution·​result.​
1060 ·​*/​
1061 -​·​(void)​setSmoothTrackSpeed:​(NSInteger)​speed·​onAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(DJICompletionBlock)​block;​
662 1062
663 /​**1063 /​**
664 ·​*··​Gets·​SmoothTrack·acceleration·​on·​an·​axis.​·Acceleration·​determines·​how·closely·​the·camera·​will·follow·the·​translated·yaw·​handle·​movement·and·has·a·range·of·[0,​30].​1064 ·​*··​Gets·gimbal·​SmoothTrack·speed·​on·​an·​axis.​·SmoothTrack·speed·​determines·​how·fast·​the·gimbal·​will·catch·up·with·a·large,​·​translated·​handle·​movement.​
1065 ·​*··​Use·​`DJIGimbalKeySmoothTr​ackSpeedPitch`·​and·​`DJIGimbalKeySmoothTr​ackSpeedYaw`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
665 ·​*1066 ·​*
666 ·​*··​@param·​axis·Gimbal·​axis.​1067 ·​*··​@param·​axis·····The·​axis·to·query.​
667 ·​*··​@param·​block·get·Gimbal·SmoothTrack·Adjustment·acceleration·in·specific·direction·​result·block.​1068 ·​*··​@param·​block····The·completion·block·that·receives·execution·​result.​
668 ·​*/​1069 ·​*/​
1070 -​·​(void)​getSmoothTrackSpeedOn​Axis:​(DJIGimbalAxis)​axis·​withCompletion:​(void·​(^_Nonnull)​(NSInteger·​speed,​·​NSError·​*_Nullable·​error)​)​block;​
669 1071
670 -​·(void)​getGimbalSmoothTrackA​ccelerationOnAxis:​(DJIGimbalSmoothTrack​Axis)​axis·withCompletion:​(void·(^)​(NSInteger·acceleration,​·BOOL·success)​)​block;​1072 /​**
1073 ·​*··​Sets·​SmoothTrack·​deadband·​on·​an·​axis.​·​A·​larger·​deadband·​requires·​more·​handle·​movement·​to·​translate·​into·​gimbal·​motion.​
1074 ·​*··​Use·​`DJIGimbalKeySmoothTr​ackDeadbandPitch`·​and·​`DJIGimbalKeySmoothTr​ackDeadbandYaw`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​in·​degrees.​
1075 ·​*
1076 ·​*··​@param·​deadband·​SmoothTrack·​deadband·​[0,​90].​
1077 ·​*··​@param·​axis·····​The·​axis·​that·​the·​setting·​will·​be·​applied·​to.​
1078 ·​*··​@param·​block····​The·​completion·​block·​that·​receives·​execution·​result.​
1079 ·​*/​
1080
1081 -​·​(void)​setSmoothTrackDeadban​d:​(NSInteger)​deadband·​onAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(DJICompletionBlock)​block;​
671 1082
672 /​**1083 /​**
673 ·​*··Sets·joystick·smoothing·​on·​an·​axis.​·Joystick·smoothing·controls·the·​deceleration·of·the·gimbal.​·A·small·value·will·cause·the·gimbal·​to·stop·abruptly.​·Smoothing·has·a·range·of·[0,​30].​1084 ·​*··Gets·SmoothTrack·deadband·​on·​an·​axis.​·A·larger·​deadband·requires·​more·handle·movement·​to·​translate·into·gimbal·motion.​
1085 ·​*··​Use·​`DJIGimbalKeySmoothTr​ackDeadbandPitch`·​and·​`DJIGimbalKeySmoothTr​ackDeadbandYaw`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​in·​degrees.​
674 ·​*1086 ·​*
1087 ·​*··​@param·​axis·····​The·​axis·​to·​query.​
1088 ·​*··​@param·​block····​The·​completion·​block·​that·​receives·​execution·​result.​
1089 ·​*/​
1090
1091 -​·​(void)​getSmoothTrackDeadban​dOnAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(void·​(^_Nonnull)​(NSInteger·​deadband,​·​NSError·​*_Nullable·​error)​)​block;​
1092
1093 /​**
1094 ·​*··​Sets·​SmoothTrack·​acceleration·​on·​an·​axis.​·​Acceleration·​determines·​how·​closely·​the·​camera·​will·​follow·​the·​translated·​yaw·​handle·​movement.​
1095 ·​*··​Use·​`DJIGimbalKeySmoothTr​ackAccelerationPitch`​·​and·​`DJIGimbalKeySmoothTr​ackAccelerationYaw`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
675 ·​*1096 ·​*
676 ·​*··​@param·​axis·Gimbal·axis.​1097 ·​*··​@param·acceleration·SmoothTrack·acceleration·[0,​30].​
677 ·​*··​@param·​smoothing·Joystick·Smoothing·[0,​30].​1098 ·​*··​@param·axis·········The·axis·that·the·setting·will·be·applied·to.​
678 ·​*··​@param·​block·set·Gimbal·Joystick·Smoothing·in·specific·direction·​result·block.​1099 ·​*··​@param·​block········The·completion·block·that·receives·execution·​result.​
679 ·​*/​1100 ·​*/​
680 1101
681 -​·​(void)​setGimbalJoystickSmoo​thingOnAxis:​(DJIGimbalJoystickAxi​s)​axis·smoothing:​(NSInteger)​smoothing·​withCompletion:​(DJICompletionBlock)​block;​1102 -​·​(void)​setSmoothTrackAcceler​ation:​(NSInteger)​acceleration·onAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(DJICompletionBlock)​block;​
682 1103
683 /​**1104 /​**
684 ·​*··​Gets·joystick·smoothing·on·an·​axis.​·Joystick·smoothing·controls·the·deceleration·of·the·gimbal.​·A·small·value·will·​cause·the·gimbal·to·stop·abruptly.​·Smoothing·has·a·range·of·[0,​30].​1105 ·​*··​Gets·SmoothTrack·​acceleration·​on·an·axis.​·Acceleration·determines·how·closely·the·​camera·will·follow·the·translated·yaw·handle·movement.​
1106 ·​*··​Use·​`DJIGimbalKeySmoothTr​ackAccelerationPitch`​·​and·​`DJIGimbalKeySmoothTr​ackAccelerationYaw`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​the·​range·​of·​possible·​values·​(unitless)​.​
685 ·​*1107 ·​*
686 ·​*··​@param·​axis·Gimbal·Joystick·Direction.​1108 ·​*··​@param·​axis·····The·axis·to·query.​
687 ·​*··​@param·​block·get·Gimbal·Joystick·Smoothing·in·specific·direction·​result·block.​1109 ·​*··​@param·​block····The·completion·block·that·receives·execution·​result.​
688 ·​*/​1110 ·​*/​
1111 -​·​(void)​getSmoothTrackAcceler​ationOnAxis:​(DJIGimbalAxis)​axis·​withCompletion:​(void·​(^_Nonnull)​(NSInteger·​acceleration,​·​NSError·​*_Nullable·​error)​)​block;​
689 1112
690 -​·(void)​getGimbalJoystickSmoo​thingOnAxis:​(DJIGimbalJoystickAxi​s)​axis·withCompletion:​(void·(^)​(NSInteger·smoothing,​·BOOL·success)​)​block;​1113 /​*********************​*********************​*********************​******************/​
1114 #pragma·​mark·​Gimbal·​Endpoint·​Setting
1115 /​*********************​*********************​*********************​******************/​
691 1116
692 /​**1117 /​**
693 ·​*··Sets·joystick·speed·​on·an·axis.​·Speed·has·​a·​range·​of·[0,​100].​1118 ·​*··Endpoint·settings·determine·the·farthest·points·to·which·the·gimbal·will·rotate·during·manual·controller·input.​
1119 ·​*··​Only·​supported·​by·​Ronin-​MX.​
1120 ·​*··​Use·​`DJIGimbalKeyEndpoint​PitchUp`,​·​`DJIGimbalKeyEndpoint​PitchDown`,​·​`DJIGimbalKeyEndpoint​YawLeft`·​and·​`DJIGimbalKeyEndpoint​YawRight`·​in·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature·​and·​what·​the·​valid·​range·​of·​enpoints·​are.​
694 ·​*1121 ·​*
695 ·​*··​@param·axis·Gimbal·axis.​1122 ·​*··​@param·endpoint·····The·endpoint·value·to·set.​
696 ·​*··​@param·speed·Joystick·speed·[0,​100].​1123 ·​*··​@param·direction····The·endpoint·direction.​
697 ·​*··​@param·​block·set·Gimbal·Joystick·Speed·in·specific·direction·​result·block.​1124 ·​*··​@param·​block········The·completion·block·that·receives·execution·​result.​
698 ·​*/​1125 ·​*/​
1126 -​·​(void)​setEndpoint:​(NSInteger)​endpoint·​inDirection:​(DJIGimbalEndpointDir​ection)​direction·​withCompletion:​(DJICompletionBlock)​block;​
1127 /​**
1128 ·​*··​Gets·​the·​farthest·​points·​to·​which·​the·​gimbal·​will·​rotate·​during·​manual·​controller·​input.​
1129 ·​*··​Only·​supported·​by·​Ronin-​MX.​
1130 ·​*··​Use·​`DJIGimbalKeyEndpoint​PitchUp`,​·​`DJIGimbalKeyEndpoint​PitchDown`,​·​`DJIGimbalKeyEndpoint​YawLeft`·​and·​`DJIGimbalKeyEndpoint​YawRight`·​with·​`gimbalCapability`·​to·​check·​if·​the·​gimbal·​supports·​this·​feature.​
1131 ·​*
1132 ·​*··​@param·​direction····​The·​endpoint·​direction.​
1133 ·​*··​@param·​block········​The·​completion·​block·​that·​receives·​execution·​result.​
1134 ·​*/​-​·​(void)​getEndpointInDirectio​n:​(DJIGimbalEndpointDir​ection)​direction·​withCompletion:​(void·​(^_Nonnull)​(NSInteger·​endpoint,​·​NSError·​*_Nullable·​error)​)​block;​
699 1135
700 -​·(void)​setGimbalJoystickSpee​dOnAxis:​(DJIGimbalJoystickAxi​s)​axis·speed:​(NSInteger)​speed·withCompletion:​(DJICompletionBlock)​block;​1136 /​*********************​*********************​*********************​******************/​
1137 #pragma·​mark·​Others
1138 /​*********************​*********************​*********************​******************/​
701 1139
702 /​**1140 /​**
703 ·​*··Gets·joystick·speed·on·an·axis.​·Speed·has·​a·range·​of·[0,​100].​1141 ·​*··Allows·the·camera·to·be·mounted·in·the·upright·position·(on·top·of·the·​aircraft·instead·​of·underneath)​.​
1142 ·​*··​Only·​supported·​by·​Ronin-​MX.​
704 ·​*1143 ·​*
705 ·​*··​@param·​axis·Gimbal·Joystick·Direction.​1144 ·​*··​@param·enabled··`YES`·to·allow·the·camera·to·be·upright.​
706 ·​*··​@param·​block·get·Gimbal·Joystick·Speed·in·specific·direction·​result·block.​1145 ·​*··​@param·​block····The·completion·block·that·receives·execution·​result.​
707 ·​*/​1146 ·​*/​
1147 -​·​(void)​setCameraUprightEnabl​ed:​(BOOL)​enabled·​withCompletion:​(DJICompletionBlock)​block;​
1148 /​**
1149 ·​*··​Gets·​if·​the·​camera·​is·​allowed·​to·​be·​in·​the·​upright·​position.​
1150 ·​*··​Only·​supported·​by·​Ronin-​MX.​
1151 ·​*
1152 ·​*··​@param·​block····​The·​completion·​block·​that·​receives·​execution·​result.​
1153 ·​*/​
1154 -​·​(void)​getCameraUprightEnabl​edWithCompletion:​(void·​(^_Nonnull)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​block;​
708 1155
709 -​·(void)​getGimbalJoystickSpee​dOnAxis:​(DJIGimbalJoystickAxi​s)​axis·withCompletion:​(void·(^)​(NSInteger·speed,​·BOOL·success)​)​block;​1156 /​**
1157 ·​*··​Turns·​on·​and·​off·​the·​gimbal·​motors.​·​`NO`·​means·​the·​gimbal·​power·​remains·​on,​·​however·​the·​motors·​will·​not·​work.​
1158 ·​*··​Only·​supported·​by·​Ronin-​MX.​
1159 ·​*
1160 ·​*··​@param·​enabled··​`YES`·​to·​enable·​the·​motor.​
1161 ·​*··​@param·​block····​The·​completion·​block·​that·​receives·​execution·​result.​
1162 ·​*/​
1163 -​·​(void)​setMotorEnabled:​(BOOL)​enabled·​withCompletion:​(DJICompletionBlock)​block;​
1164 /​**
1165 ·​*··​Gets·​if·​the·​gimbal·​motors·​are·​enabled·​to·​work·​or·​not.​·​Only·​supported·​by·​Ronin-​MX.​
1166 ·​*
1167 ·​*··​@param·​block····​The·​completion·​block·​that·​receives·​execution·​result.​
1168 ·​*/​
1169 -​·​(void)​getMotorEnabledWithCo​mpletion:​(void·​(^_Nonnull)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​block;​
1170
1171 /​**
1172 ·​*··​Resets·​gimbal·​position·​to·​selfie·​setup.​·​If·​the·​gimbal·​yaw·​is·​not·​at·​180·​degrees,​·​then·​calling·​this·​method·​will·​rotate·​the·​gimbal·​yaw·​to·​180·​degrees·​(effectively·​pointing·​the·​camera·​to·​the·​person·​holding·​the·​gimbal)​.​·​If·​the·​gimbal·​yaw·​is·​at·​180·​degrees,​·​then·​the·​gimbal·​will·​rotate·​in·​yaw·​to·​0·​degrees.​
1173 ·​*··​Only·​supported·​by·​Osmo.​
1174 ·​*
1175 ·​*··​@param·​block····​The·​completion·​block·​that·​receives·​execution·​result.​
1176 ·​*/​
1177 -​·​(void)​toggleGimbalSelfieWit​hCompletion:​(DJICompletionBlock)​block;​
1178
1179 /​**
1180 ·​*··​Sets·​the·​gimbal's·​controller·​mode.​
1181 ·​*··​The·​control·​mode·​for·​the·​gimbal·​controller·​(joystick·​for·​Osmo)​.​·​The·​total·​controller·​deflection
1182 ·​*··​is·​a·​combination·​of·​horizontal·​and·​vertical·​deflection.​·​This·​translates·​to·​gimbal·​movement·​around·​the·​yaw·​and·​pitch·​axes.​
1183 ·​*··​The·​gimbal·​can·​be·​set·​to·​either·​move·​in·​both·​yaw·​and·​pitch·​simultaneously·​based·​on·​horizontal·​and·​vertical·​deflection·​of·​the·​controller,​·​or
1184 ·​*··​move·​in·​only·​yaw·​or·​pitch·​exclusively·​based·​on·​whether·​horizontal·​or·​vertical·​deflection·​is·​larger.​
1185 ·​*··​Only·​supported·​by·​Osmo.​
1186 ·​*
1187 ·​*··​@param·​controlMode··​The·​stick·​control·​mode·​to·​set.​
1188 ·​*··​@param·​block········​The·​completion·​block·​that·​receives·​execution·​result.​
1189 ·​*/​
1190 -​·​(void)​setGimbalControllerMo​de:​(DJIGimbalControllerM​ode)​controlMode·​withCompletion:​(DJICompletionBlock)​block;​
1191
1192 /​**
1193 ·​*··​Gets·​the·​gimbal's·​controller·​mode.​·
1194 ·​*··​Only·​supported·​by·​Osmo.​
1195 ·​*
1196 ·​*··​@param·​block····​The·​completion·​block·​that·​receives·​execution·​result.​
1197 ·​*/​
1198 -​·​(void)​getGimbalControllerMo​deWithCompletion:​(void·​(^_Nonnull)​(DJIGimbalControllerM​ode·​controlMode,​·​NSError*·​_Nullable·​error)​)​block;​
710 1199
711 @end1200 @end
1201
712 NS_ASSUME_NONNULL_END​1202 NS_ASSUME_NONNULL_END​
diff --git a/Headers/DJIGimbalAttitudeStep.h b/Headers/DJIGimbalAttitudeStep.h
index 5777090..7e5d250 100644
3.1.1/​Headers/​DJIGimbalAttitudeStep​.​h3.2/​Headers/​DJIGimbalAttitudeStep​.​h
10 NS_ASSUME_NONNULL_BEG​IN10 NS_ASSUME_NONNULL_BEG​IN
11 11
12 /​**12 /​**
13 ·​*··​Subclass·​of·​`DJIMission`.​·​You·​can·​control·​the·​gimbal·​attitude·​using·​this·​mission·​step.​13 ·​*··​Subclass·​of·​`DJIMissionStep`.​·​You·​can·​control·​the·​gimbal·​attitude·​using·​this·​mission·​step.​
14 ·​*14 ·​*
15 ·​*/​15 ·​*/​
16 @interface·​DJIGimbalAttitudeStep​·​:​·​DJIMissionStep16 @interface·​DJIGimbalAttitudeStep​·​:​·​DJIMissionStep
diff --git a/Headers/DJIHandheld.h b/Headers/DJIHandheld.h
index 8cc5917..bc8a800 100644
3.1.1/​Headers/​DJIHandheld.​h3.2/​Headers/​DJIHandheld.​h
28 extern·​NSString·​*const·​DJIHandheldModelNameO​smo;​28 extern·​NSString·​*const·​DJIHandheldModelNameO​smo;​
29 29
30 /​**30 /​**
31 ·​*··​Handheld·​device·​model·​name·​Osmo·​Pro.​
32 ·​*/​
33 extern·​NSString·​*const·​DJIHandheldModelNameO​smoPro;​
34
35 /​**
31 ·​*36 ·​*
32 ·​*··​This·​class·​contains·​the·​components·​of·​a·​handheld·​device.​37 ·​*··​This·​class·​contains·​the·​components·​of·​a·​handheld·​device.​
33 ·​*/​38 ·​*/​
diff --git a/Headers/DJIHandheldController.h b/Headers/DJIHandheldController.h
index ff35f9e..e6a3ce1 100644
3.1.1/​Headers/​DJIHandheldController​.​h3.2/​Headers/​DJIHandheldController​.​h
12 12
13 NS_ASSUME_NONNULL_BEG​IN13 NS_ASSUME_NONNULL_BEG​IN
14 14
15 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​15 /​*********************​*********************​*********************​******************/​
16 #pragma·​mark·​DJIHandheldWiFiFreque​ncy·​Type16 #pragma·​mark·​DJIHandheldWiFiFreque​ncy·​Type
17 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​17 /​*********************​*********************​*********************​******************/​
18
18 /​**19 /​**
19 ·​*··​Handheld·​WiFi·​Frequency·​Type.​20 ·​*··​Handheld·​WiFi·​Frequency·​Type.​
20 ·​*/​21 ·​*/​
80 ·​*··​@param·​powerMode····​The·​handheld·​controller's·​current·​power·​mode.​81 ·​*··​@param·​powerMode····​The·​handheld·​controller's·​current·​power·​mode.​
81 ·​*82 ·​*
82 ·​*/​83 ·​*/​
83 -​·​(void)​handheldController:​(DJIHandheldControlle​r·​*)​controller·​didUpdatePowerMode:​(DJIHandheldPowerMode​)​powerMode;​84 -​·​(void)​handheldController:​(DJIHandheldControlle​r·​*_Nonnull)​controller·​didUpdatePowerMode:​(DJIHandheldPowerMode​)​powerMode;​
84 85
85 @end86 @end
86 87
diff --git a/Headers/DJIIMUState.h b/Headers/DJIIMUState.h
index 6569c07..e6f0f54 100644
3.1.1/​Headers/​DJIIMUState.​h3.2/​Headers/​DJIIMUState.​h
84 ····84 ····
85 };​85 };​
86 86
87 /​*********************​*********************​*********************​***********87 /​*********************​*********************​*********************​******************/​
88 ·*******/​
89 #pragma·​mark·​-​·​DJIInertialMeasuremen​tUnitState88 #pragma·​mark·​-​·​DJIInertialMeasuremen​tUnitState
90 /​*********************​*********************​*********************​******************/​89 /​*********************​*********************​*********************​******************/​
91 90
97 @interface·​DJIIMUState·​:​·​NSObject96 @interface·​DJIIMUState·​:​·​NSObject
98 97
99 /​**98 /​**
100 ·​*··​The·​ID·​of·​IMU.​99 ·​*··​The·​ID·​of·​IMU.​·It·is·started·from·0.​
101 ·​*/​100 ·​*/​
102 @property(nonatomic,​·​readonly)​·​NSUInteger·​imuID;​101 @property(nonatomic,​·​readonly)​·​NSUInteger·​imuID;​
103 102
diff --git a/Headers/DJIIntelligentFlightAssistant.h b/Headers/DJIIntelligentFlightAssistant.h
index 7b72d9c..1284690 100644
3.1.1/​Headers/​DJIIntelligentFlightA​ssistant.​h3.2/​Headers/​DJIIntelligentFlightA​ssistant.​h
105 /​**105 /​**
106 ·​*··​The·​vision·​system·​can·​see·​infront·​of·​the·​aircraft·​with·​a·​70·​degree·​horizontal·​field·​of·​view·​(FOV)​·​and·​55·​degree·​veritcal·​FOV·​for·​the·​Phantom·​4.​·​The·​horizontal·​FOV·​is·​split·​into·​four·​equal·​sectors·​and·​this·​array·​contains·​the·​distance·​and·​warning·​information·​for·​each·​sector.​·​For·​Phantom·​4,​·​the·​horizontal·​FOV·​is·​separated·​into·​4·​sectors.​106 ·​*··​The·​vision·​system·​can·​see·​infront·​of·​the·​aircraft·​with·​a·​70·​degree·​horizontal·​field·​of·​view·​(FOV)​·​and·​55·​degree·​veritcal·​FOV·​for·​the·​Phantom·​4.​·​The·​horizontal·​FOV·​is·​split·​into·​four·​equal·​sectors·​and·​this·​array·​contains·​the·​distance·​and·​warning·​information·​for·​each·​sector.​·​For·​Phantom·​4,​·​the·​horizontal·​FOV·​is·​separated·​into·​4·​sectors.​
107 ·​*/​107 ·​*/​
108 @property(nonatomic,​·​readonly)​·​NSArray*·​detectionSectors;​108 @property(nonatomic,​·​readonly)​·​NSArray·*_Nonnull·​detectionSectors;​
109 109
110 @end110 @end
111 111
121 /​**121 /​**
122 ·​*··​Callback·​function·​that·​updates·​the·​vision·​detection·​state.​·​The·​frequency·​of·​this·​method·​is·​10Hz.​122 ·​*··​Callback·​function·​that·​updates·​the·​vision·​detection·​state.​·​The·​frequency·​of·​this·​method·​is·​10Hz.​
123 ·​*/​123 ·​*/​
124 -​(void)​·​intelligentFlightAssi​stant:​(DJIIntelligentFlight​Assistant*)​assistant·​didUpdateVisionDetect​ionState:​(DJIVisionDetectionSt​ate*)​state;​124 -​(void)​·​intelligentFlightAssi​stant:​(DJIIntelligentFlight​Assistant*·_Nonnull)​assistant·​didUpdateVisionDetect​ionState:​(DJIVisionDetectionSt​ate*·_Nonnull)​state;​
125 125
126 @end126 @end
127 127
143 /​**143 /​**
144 ·​*··​Get·​collision·​avoidance·​enabled.​144 ·​*··​Get·​collision·​avoidance·​enabled.​
145 ·​*/​145 ·​*/​
146 -​(void)​·​getCollisionAvoidance​EnabledWithCompletion​:​(void(^)​(BOOL·​enable,​·​NSError*·​_Nullable·​error)​)​completion;​146 -​(void)​·​getCollisionAvoidance​EnabledWithCompletion​:​(void(^_Nonnull)​(BOOL·​enable,​·​NSError*·​_Nullable·​error)​)​completion;​
147 147
148 /​**148 /​**
149 ·​*··​Set·​vision·​positioning·​enabled.​·​Vision·​positioning·​is·​used·​to·​augment·​GPS·​to·​improve·​location·​accuracy·​when·​hovering·​and·​improve·​velocity·​calculation·​when·​flying.​149 ·​*··​Set·​vision·​positioning·​enabled.​·​Vision·​positioning·​is·​used·​to·​augment·​GPS·​to·​improve·​location·​accuracy·​when·​hovering·​and·​improve·​velocity·​calculation·​when·​flying.​
153 /​**153 /​**
154 ·​*··​Get·​vision·​position·​enable.​154 ·​*··​Get·​vision·​position·​enable.​
155 ·​*/​155 ·​*/​
156 -​(void)​·​getVisionPositioningE​nabledWithCompletion:​(void(^)​(BOOL·​enable,​·​NSError*·​_Nullable·​error)​)​completion;​156 -​(void)​·​getVisionPositioningE​nabledWithCompletion:​(void(^_Nonnull)​(BOOL·​enable,​·​NSError*·​_Nullable·​error)​)​completion;​
157 157
158 @end158 @end
159 159
diff --git a/Headers/DJILBAirLink.h b/Headers/DJILBAirLink.h
index 8fc2fa9..e584ab9 100644
3.1.1/​Headers/​DJILBAirLink.​h3.2/​Headers/​DJILBAirLink.​h
216 ····​int8_t·​rssi[DJI_LBAIRLINK_SU​PPORTED_CHANNEL_COUNT​];​216 ····​int8_t·​rssi[DJI_LBAIRLINK_SU​PPORTED_CHANNEL_COUNT​];​
217 }·​DJILBAirLinkAllChanne​lSignalStrengths;​217 }·​DJILBAirLinkAllChanne​lSignalStrengths;​
218 218
219 /​**
220 ·​*··​The·​video·​source·​for·​the·​delegate·​method·​`-​·​(void)​lbAirLink:​(DJILBAirLink·​*_Nonnull)​lbAirLink·​didReceiveVideoData:​(NSData·​*)​data`·​in·​`DJILBAirLinkDelegate​`·​and·​`DJICameraDelegate`.​
221 ·​*/​
222 typedef·​NS_ENUM·​(uint8_t,​·​DJIVideoDataChannel)​·​{
223 ····​/​**
224 ·····​*··​Video·​from·​AV·​or·​HDMI·​is·​received·​by·​the·​delegate·​method.​·
225 ·····​*··​It·​can·​only·​be·​set·​when·​the·​encode·​mode·​is·​`DJILBAirLinkEncodeMo​deSingle`·​and·​the·​FPV·​video·​bandwidth·​percent·​is·​non-​zero.​·
226 ·····​*··​When·​the·​encode·​mode·​is·​`DJILBAirLinkEncodeMo​deSingle`·​and·​the·​FPV·​video·​bandwidth·​percent·​is·​100%,​·​the·​video·​data·​channel·​will·​be·​set·​to·​`DJIVideoDataChannelF​PVCamera`·​automatically.​
227 ·····​*/​
228 ····​DJIVideoDataChannelFP​VCamera,​
229 ····​/​**
230 ·····​*··​Video·​from·​HD·​Gimbal·​is·​received·​by·​the·​delegate·​method.​
231 ·····​*··​It·​can·​only·​be·​set·​when·​the·​encode·​mode·​is·​`DJILBAirLinkEncodeMo​deSingle`·​and·​the·​FPV·​video·​bandwidth·​percent·​is·​not·​100%.​·
232 ·····​*··​When·​the·​encode·​mode·​is·​`DJILBAirLinkEncodeMo​deSingle`·​and·​the·​FPV·​video·​bandwidth·​percent·​is·​0%,​·​the·​video·​data·​channel·​will·​be·​set·​to·​`DJIVideoDataChannelH​DGimbal`·​automatically.​
233 ·····​*/​
234 ····​DJIVideoDataChannelHD​Gimbal,​
235 ····​/​**
236 ·····​*··​Video·​from·​HDMI·​is·​received·​by·​the·​delegate·​method.​
237 ·····​*··​It·​can·​only·​be·​set·​when·​the·​encode·​mode·​is·​`DJILBAirLinkEncodeMo​deDual`·​and·​the·​dual·​encode·​mode·​percent·​is·​not·​0%.​
238 ·····​*··​When·​the·​encode·​mode·​is·​`DJILBAirLinkEncodeMo​deDual`·​and·​the·​dual·​encode·​mode·​percent·​is·​100%,​·​the·​video·​data·​channel·​will·​be·​set·​to·​`DJIVideoDataChannelH​DMI`·​automatically.​
239 ·····​*/​
240 ····​DJIVideoDataChannelHD​MI,​
241 ····​/​**
242 ·····​*··​Video·​from·​AV·​is·​received·​by·​the·​delegate·​method.​
243 ·····​*··​It·​can·​only·​be·​set·​when·​the·​encode·​mode·​is·​`DJILBAirLinkEncodeMo​deDual`·​and·​the·​dual·​encode·​mode·​percent·​is·​not·​100%.​
244 ·····​*··​When·​the·​encode·​mode·​is·​`DJILBAirLinkEncodeMo​deDual`·​and·​the·​dual·​encode·​mode·​percent·​is·​0%,​·​the·​video·​data·​channel·​will·​be·​set·​to·​`DJIVideoDataChannelA​V`·​automatically.​
245 ·····​*/​
246 ····​DJIVideoDataChannelAV​,​
247 ····​/​**
248 ·····​*··​Unknown
249 ·····​*/​
250 ····​DJIVideoDataChannelUn​known·​=·​0xFF
251 };​
252
253 /​**
254 ·​*··​Lightbridge·​2·​encode·​mode.​
255 ·​*/​
256 typedef·​NS_ENUM·​(uint8_t,​·​DJILBAirLinkEncodeMod​e)​·​{
257 ····​/​**
258 ·····​*··​Single·​encode·​mode.​·​Lightbridge·​2·​will·​only·​encode·​the·​video·​input·​from·​either·​the·​AV·​port·​or·​the·​HDMI·​port.​
259 ·····​*/​
260 ····​DJILBAirLinkEncodeMod​eSingle,​
261 ····​/​**
262 ·····​*··​Dual·​encode·​mode.​·​Lightbridge·​2·​will·​encode·​the·​video·​input·​from·​both·​the·​AV·​port·​and·​the·​HDMI·​port.​
263 ·····​*/​
264 ····​DJILBAirLinkEncodeMod​eDual,​
265 ····​/​**
266 ·····​*··​Unknown
267 ·····​*/​
268 ····​DJILBAirLinkEncodeMod​eUnknown·​=·​0xFF
269 };​
270
219 /​*********************​*********************​*********************​******************/​271 /​*********************​*********************​*********************​******************/​
220 #pragma·​mark·​-​·​DJILBAirLinkDelegate272 #pragma·​mark·​-​·​DJILBAirLinkDelegate
221 /​*********************​*********************​*********************​******************/​273 /​*********************​*********************​*********************​******************/​
286 @property(nonatomic,​·​weak)​·​id<DJILBAirLinkDelega​te>·​delegate;​338 @property(nonatomic,​·​weak)​·​id<DJILBAirLinkDelega​te>·​delegate;​
287 339
288 /​**340 /​**
341 ·​*··​Selects·​the·​video·​data·​which·​will·​be·​received·​by·​the·​video·​data·​`-​·​(void)​lbAirLink:​(DJILBAirLink·​*_Nonnull)​lbAirLink·​didReceiveVideoData:​(NSData·​*)​data`·​in·​`DJILBAirLinkDelegate​`·​and·​`DJICameraDelegate`.​
342 ·​*
343 ·​*··​@param·​videoDataChannel·​The·​video·​source·​that·​streams·​data·​to·​the·​delegate·​method.​·
344 ·​*··​@param·​completion·······​Completion·​block·​that·​receives·​the·​execution·​result.​
345 ·​*/​
346 -​(void)​setVideoDataChannel:​(DJIVideoDataChannel)​videoDataChannel·​withCompletion:​(DJICompletionBlock)​completion;​
347
348 /​**
349 ·​*··​Gets·​the·​selected·​video·​data·​which·​will·​be·​received·​by·​the·​video·​data·​`-​·​(void)​lbAirLink:​(DJILBAirLink·​*_Nonnull)​lbAirLink·​didReceiveVideoData:​(NSData·​*)​data`·​in·​`DJILBAirLinkDelegate​`·​and·​`DJICameraDelegate`.​
350 ·​*
351 ·​*··​@param·​completion···​Completion·​block·​that·​receives·​the·​execution·​result.​
352 ·​*/​
353 -​(void)​getVideoDataChannelWi​thCompletion:​(void(^_Nonnull)​(DJIVideoDataChannel·​videoChannel,​·​NSError·​*_Nullable·​error)​)​completion;​
354
355 /​**
289 ·​*··​Sets·​the·​downlink·​channel·​selection·​mode·​(automatic·​or·​manual)​.​356 ·​*··​Sets·​the·​downlink·​channel·​selection·​mode·​(automatic·​or·​manual)​.​
290 ·​*357 ·​*
291 ·​*··​@param·​mode·······​Channel·​selection·​mode·​for·​`LBAirLink`.​358 ·​*··​@param·​mode·······​Channel·​selection·​mode·​for·​`LBAirLink`.​
298 ·​*365 ·​*
299 ·​*··​@param·​completion·​Completion·​block.​366 ·​*··​@param·​completion·​Completion·​block.​
300 ·​*/​367 ·​*/​
301 -​·​(void)​getChannelSelectionMo​deWithCompletion:​(void·​(^_Nullable)​(DJILBAirLinkChannelS​electionMode·​mode,​·​NSError·​*_Nullable·​error)​)​completion;​368 -​·​(void)​getChannelSelectionMo​deWithCompletion:​(void·​(^_Nonnull)​(DJILBAirLinkChannelS​electionMode·​mode,​·​NSError·​*_Nullable·​error)​)​completion;​
302 369
303 /​**370 /​**
304 ·​*··​Sets·​fixed·​downlink·​channel.​·​Channel·​selection·​mode·​should·​be·​set·​to·​`DJILBAirLinkChannelS​electionModeManual`.​371 ·​*··​Sets·​fixed·​downlink·​channel.​·​Channel·​selection·​mode·​should·​be·​set·​to·​`DJILBAirLinkChannelS​electionModeManual`.​
315 ·​*382 ·​*
316 ·​*··​@param·​completion·​Completion·​block.​383 ·​*··​@param·​completion·​Completion·​block.​
317 ·​*/​384 ·​*/​
318 -​·​(void)​getChannelWithComplet​ion:​(void·​(^_Nullable)​(int·​channel,​·​NSError·​*_Nullable·​error)​)​completion;​385 -​·​(void)​getChannelWithComplet​ion:​(void·​(^_Nonnull)​(int·​channel,​·​NSError·​*_Nullable·​error)​)​completion;​
319 386
320 /​**387 /​**
321 ·​*··​Sets·​the·​downlink·​data·​rate·​(throughput)​.​·​Higher·​data·​rates·​increase·​the·​quality·​of·​video·​transmission,​·​but·​can·​only·​be·​used·​at·​shorter·​ranges.​388 ·​*··​Sets·​the·​downlink·​data·​rate·​(throughput)​.​·​Higher·​data·​rates·​increase·​the·​quality·​of·​video·​transmission,​·​but·​can·​only·​be·​used·​at·​shorter·​ranges.​
330 ·​*397 ·​*
331 ·​*··​@param·​completion·​Completion·​block.​398 ·​*··​@param·​completion·​Completion·​block.​
332 ·​*/​399 ·​*/​
333 -​·​(void)​getDataRateWithComple​tion:​(void·​(^_Nullable)​(DJILBAirLinkDataRate​·​rate,​·​NSError·​*_Nullable·​error)​)​completion;​400 -​·​(void)​getDataRateWithComple​tion:​(void·​(^_Nonnull)​(DJILBAirLinkDataRate​·​rate,​·​NSError·​*_Nullable·​error)​)​completion;​
334 401
335 /​**402 /​**
336 ·​*··​Sets·​FPV·​video·​quality·​vs·​latency·​preference.​·​This·​mode·​only·​effects·​the·​FPV·​camera·​and·​not·​the·​camera·​on·​the·​HD·​Gimbal.​403 ·​*··​Sets·​FPV·​video·​quality·​vs·​latency·​preference.​·​This·​mode·​only·​effects·​the·​FPV·​camera·​and·​not·​the·​camera·​on·​the·​HD·​Gimbal.​
345 ·​*412 ·​*
346 ·​*··​@param·​completion·​Completion·​block.​413 ·​*··​@param·​completion·​Completion·​block.​
347 ·​*/​414 ·​*/​
348 -​·​(void)​getFPVQualityLatencyW​ithCompletion:​(void·​(^_Nullable)​(DJILBAirLinkFPVVideo​QualityLatency·​qualityLatency,​·​NSError·​*_Nullable·​error)​)​completion;​415 -​·​(void)​getFPVQualityLatencyW​ithCompletion:​(void·​(^_Nonnull)​(DJILBAirLinkFPVVideo​QualityLatency·​qualityLatency,​·​NSError·​*_Nullable·​error)​)​completion;​
349 416
350 /​**417 /​**
351 ·​*··​Sets·​the·​percentage·​downlink·​video·​bandwidth·​dedicated·​to·​the·​FPV·​camera.​·​The·​remaining·​percentage·​is·​dedicated·​to·​the·​camera·​on·​the·​HD·​Gimbal.​·​Setting·​100%·​dedicates·​all·​the·​video·​bandwidth·​to·​FPV.​418 ·​*··​Sets·​the·​percentage·​downlink·​video·​bandwidth·​dedicated·​to·​the·​FPV·​camera.​·​The·​remaining·​percentage·​is·​dedicated·​to·​the·​camera·​on·​the·​HD·​Gimbal.​·​Setting·​100%·​dedicates·​all·​the·​video·​bandwidth·​to·​FPV.​
359 ·​*··​Gets·​the·​percentage·​downlink·​video·​bandwidth·​dedicated·​to·​the·​FPV·​camera.​·​The·​remaining·​percentage·​is·​dedicated·​to·​the·​camera·​on·​the·​HD·​Gimbal.​·​Setting·​100%·​dedicates·​all·​the·​video·​bandwidth·​to·​FPV.​426 ·​*··​Gets·​the·​percentage·​downlink·​video·​bandwidth·​dedicated·​to·​the·​FPV·​camera.​·​The·​remaining·​percentage·​is·​dedicated·​to·​the·​camera·​on·​the·​HD·​Gimbal.​·​Setting·​100%·​dedicates·​all·​the·​video·​bandwidth·​to·​FPV.​
360 ·​*427 ·​*
361 ·​*/​428 ·​*/​
362 -​·​(void)​getFPVVideoBandwidthP​ercentWithCompletion:​(void·​(^_Nullable)​(float·​percent,​·​NSError·​*_Nullable·​error)​)​completion;​429 -​·​(void)​getFPVVideoBandwidthP​ercentWithCompletion:​(void·​(^_Nonnull)​(float·​percent,​·​NSError·​*_Nullable·​error)​)​completion;​
363 430
364 431
365 /​*********************​*********************​*********************​******************/​432 /​*********************​*********************​*********************​******************/​
386 ·​*453 ·​*
387 ·​*··​@param·​completion·​Completion·​block.​454 ·​*··​@param·​completion·​Completion·​block.​
388 ·​*/​455 ·​*/​
389 -​·​(void)​getSecondaryVideoOutp​utEnabledWithCompleti​on:​(void·​(^_Nullable)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​completion;​456 -​·​(void)​getSecondaryVideoOutp​utEnabledWithCompleti​on:​(void·​(^_Nonnull)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​completion;​
390 457
391 /​**458 /​**
392 ·​*··​Sets·​secondary·​video·​output·​port·​on·​Remote·​Controller.​·​HDMI·​or·​SDI·​are·​possible.​·​Only·​one·​port·​can·​be·​active·​at·​once.​459 ·​*··​Sets·​secondary·​video·​output·​port·​on·​Remote·​Controller.​·​HDMI·​or·​SDI·​are·​possible.​·​Only·​one·​port·​can·​be·​active·​at·​once.​
401 ·​*468 ·​*
402 ·​*··​@param·​completion·​Completion·​block.​469 ·​*··​@param·​completion·​Completion·​block.​
403 ·​*/​470 ·​*/​
404 -​·​(void)​getSecondaryVideoOutp​utPortWithCompletion:​(void·​(^_Nullable)​(DJILBAirLinkSecondar​yVideoOutputPort·​port,​·​NSError·​*_Nullable·​error)​)​completion;​471 -​·​(void)​getSecondaryVideoOutp​utPortWithCompletion:​(void·​(^_Nonnull)​(DJILBAirLinkSecondar​yVideoOutputPort·​port,​·​NSError·​*_Nullable·​error)​)​completion;​
405 472
406 /​**473 /​**
407 ·​*··​Sets·​the·​secondary·​video·​output·​Picture·​in·​Picture·​(PIP)​·​display·​mode.​·​The·​air·​link·​module·​can·​connect·​to·​both·​an·​FPV·​camera·​(through·​the·​HDMI·​and·​AV·​ports)​·​and·​a·​camera·​mounted·​on·​the·​HD·​Gimbal·​(through·​the·​Gimbal·​port)​.​·​The·​output·​video·​can·​then·​be·​a·​combination·​of·​the·​two·​video·​sources.​·​Either·​a·​single·​video·​source·​can·​be·​displayed,​·​or·​one·​can·​be·​displayed·​within·​the·​other·​(as·​a·​Picture·​in·​Picture,​·​or·​PIP)​.​·​If·​the·​mode·​is·​set·​incorrectly,​·​then·​no·​output·​video·​will·​be·​displayed.​·​For·​example,​·​if·​only·​a·​FPV·​camera·​is·​connected,​·​or·​the·​bandwidth·​for·​the·​'LB'·​data·​(FPV)​·​is·​set·​to·​100·​percent,​·​the·​only·​mode·​that·​will·​display·​data·​is·​the·​`DJILBAirLinkPIPModeL​B`.​474 ·​*··​Sets·​the·​secondary·​video·​output·​Picture·​in·​Picture·​(PIP)​·​display·​mode.​·​The·​air·​link·​module·​can·​connect·​to·​both·​an·​FPV·​camera·​(through·​the·​HDMI·​and·​AV·​ports)​·​and·​a·​camera·​mounted·​on·​the·​HD·​Gimbal·​(through·​the·​Gimbal·​port)​.​·​The·​output·​video·​can·​then·​be·​a·​combination·​of·​the·​two·​video·​sources.​·​Either·​a·​single·​video·​source·​can·​be·​displayed,​·​or·​one·​can·​be·​displayed·​within·​the·​other·​(as·​a·​Picture·​in·​Picture,​·​or·​PIP)​.​·​If·​the·​mode·​is·​set·​incorrectly,​·​then·​no·​output·​video·​will·​be·​displayed.​·​For·​example,​·​if·​only·​a·​FPV·​camera·​is·​connected,​·​or·​the·​bandwidth·​for·​the·​'LB'·​data·​(FPV)​·​is·​set·​to·​100·​percent,​·​the·​only·​mode·​that·​will·​display·​data·​is·​the·​`DJILBAirLinkPIPModeL​B`.​
418 ·​*··​@param·​completion·​Completion·​block.​485 ·​*··​@param·​completion·​Completion·​block.​
419 ·​*486 ·​*
420 ·​*/​487 ·​*/​
421 -​·​(void)​getPIPDisplayWithComp​letion:​(void·​(^_Nullable)​(DJILBAirLinkPIPDispl​ayMode·​pipDisplay,​·​NSError·​*_Nullable·​error)​)​completion;​488 -​·​(void)​getPIPDisplayWithComp​letion:​(void·​(^_Nonnull)​(DJILBAirLinkPIPDispl​ayMode·​pipDisplay,​·​NSError·​*_Nullable·​error)​)​completion;​
422 489
423 /​**490 /​**
424 ·​*··​Enables·​and·​disables·​On·​Screen·​Display·​(OSD)​·​overlay·​on·​the·​secondary·​video.​·​OSD·​is·​flight·​data·​like·​altitude,​·​attitude·​etc.​·​and·​can·​be·​overlayed·​on·​the·​PIP·​video.​491 ·​*··​Enables·​and·​disables·​On·​Screen·​Display·​(OSD)​·​overlay·​on·​the·​secondary·​video.​·​OSD·​is·​flight·​data·​like·​altitude,​·​attitude·​etc.​·​and·​can·​be·​overlayed·​on·​the·​PIP·​video.​
435 ·​*··​@param·​completion·​Completion·​block.​502 ·​*··​@param·​completion·​Completion·​block.​
436 ·​*503 ·​*
437 ·​*/​504 ·​*/​
438 -​·​(void)​getDisplayOSDEnabledW​ithCompletion:​(void·​(^_Nullable)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​completion;​505 -​·​(void)​getDisplayOSDEnabledW​ithCompletion:​(void·​(^_Nonnull)​(BOOL·​enabled,​·​NSError·​*_Nullable·​error)​)​completion;​
439 506
440 /​**507 /​**
441 ·​*··​Sets·​the·​OSD·​top·​margin·​in·​video·​pixels.​508 ·​*··​Sets·​the·​OSD·​top·​margin·​in·​video·​pixels.​
452 ·​*··​@param·​completion·​Completion·​block.​519 ·​*··​@param·​completion·​Completion·​block.​
453 ·​*520 ·​*
454 ·​*/​521 ·​*/​
455 -​·​(void)​getOSDTopMarginWithCo​mpletion:​(void·​(^_Nullable)​(NSUInteger·​margin,​·​NSError·​*_Nullable·​error)​)​completion;​522 -​·​(void)​getOSDTopMarginWithCo​mpletion:​(void·​(^_Nonnull)​(NSUInteger·​margin,​·​NSError·​*_Nullable·​error)​)​completion;​
456 523
457 /​**524 /​**
458 ·​*··​Sets·​the·​OSD·​left·​margin·​in·​video·​pixels.​525 ·​*··​Sets·​the·​OSD·​left·​margin·​in·​video·​pixels.​
469 ·​*··​@param·​completion·​Completion·​block.​536 ·​*··​@param·​completion·​Completion·​block.​
470 ·​*537 ·​*
471 ·​*/​538 ·​*/​
472 -​·​(void)​getOSDLeftMarginWithC​ompletion:​(void·​(^_Nullable)​(NSUInteger·​margin,​·​NSError·​*_Nullable·​error)​)​completion;​539 -​·​(void)​getOSDLeftMarginWithC​ompletion:​(void·​(^_Nonnull)​(NSUInteger·​margin,​·​NSError·​*_Nullable·​error)​)​completion;​
473 540
474 /​**541 /​**
475 ·​*··​Sets·​the·​OSD·​bottom·​margin·​in·​video·​pixels.​542 ·​*··​Sets·​the·​OSD·​bottom·​margin·​in·​video·​pixels.​
486 ·​*··​@param·​completion·​Completion·​block.​553 ·​*··​@param·​completion·​Completion·​block.​
487 ·​*554 ·​*
488 ·​*/​555 ·​*/​
489 -​·​(void)​getOSDBottomMarginWit​hCompletion:​(void·​(^_Nullable)​(NSUInteger·​margin,​·​NSError·​*_Nullable·​error)​)​completion;​556 -​·​(void)​getOSDBottomMarginWit​hCompletion:​(void·​(^_Nonnull)​(NSUInteger·​margin,​·​NSError·​*_Nullable·​error)​)​completion;​
490 557
491 /​**558 /​**
492 ·​*··​Sets·​the·​OSD·​right·​margin·​in·​video·​pixels.​559 ·​*··​Sets·​the·​OSD·​right·​margin·​in·​video·​pixels.​
503 ·​*··​@param·​completion·​Completion·​block.​570 ·​*··​@param·​completion·​Completion·​block.​
504 ·​*571 ·​*
505 ·​*/​572 ·​*/​
506 -​·​(void)​getOSDRightMarginWith​Completion:​(void·​(^_Nullable)​(NSUInteger·​margin,​·​NSError·​*_Nullable·​error)​)​completion;​573 -​·​(void)​getOSDRightMarginWith​Completion:​(void·​(^_Nonnull)​(NSUInteger·​margin,​·​NSError·​*_Nullable·​error)​)​completion;​
507 574
508 /​**575 /​**
509 ·​*··​Sets·​the·​OSD·​units·​to·​either·​metric·​or·​imperial.​576 ·​*··​Sets·​the·​OSD·​units·​to·​either·​metric·​or·​imperial.​
520 ·​*··​@param·​completion·​Completion·​block.​587 ·​*··​@param·​completion·​Completion·​block.​
521 ·​*588 ·​*
522 ·​*/​589 ·​*/​
523 -​·​(void)​getOSDUnitsWithComple​tion:​(void·​(^_Nullable)​(DJILBAirLinkOSDUnits​·​units,​·​NSError·​*_Nullable·​error)​)​completion;​590 -​·​(void)​getOSDUnitsWithComple​tion:​(void·​(^_Nonnull)​(DJILBAirLinkOSDUnits​·​units,​·​NSError·​*_Nullable·​error)​)​completion;​
524 591
525 /​**592 /​**
526 ·​*··​Sets·​the·​Remote·​Controller·​HDMI·​video·​port·​output·​video·​format.​593 ·​*··​Sets·​the·​Remote·​Controller·​HDMI·​video·​port·​output·​video·​format.​
537 ·​*··​@param·​completion·​Completion·​block.​604 ·​*··​@param·​completion·​Completion·​block.​
538 ·​*605 ·​*
539 ·​*/​606 ·​*/​
540 -​·​(void)​getHDMIOutputFormatWi​thCompletion:​(void·​(^_Nullable)​(DJILBAirLinkSecondar​yVideoFormat·​format,​·​NSError·​*_Nullable·​error)​)​completion;​607 -​·​(void)​getHDMIOutputFormatWi​thCompletion:​(void·​(^_Nonnull)​(DJILBAirLinkSecondar​yVideoFormat·​format,​·​NSError·​*_Nullable·​error)​)​completion;​
541 608
542 /​**609 /​**
543 ·​*··​Sets·​the·​Remote·​Controller·​SDI·​video·​port·​output·​video·​format.​610 ·​*··​Sets·​the·​Remote·​Controller·​SDI·​video·​port·​output·​video·​format.​
554 ·​*··​@param·​completion·​Completion·​block.​621 ·​*··​@param·​completion·​Completion·​block.​
555 ·​*622 ·​*
556 ·​*/​623 ·​*/​
557 -​·​(void)​getSDIOutputFormatWit​hCompletion:​(void·​(^_Nullable)​(DJILBAirLinkSecondar​yVideoFormat·​format,​·​NSError·​*_Nullable·​error)​)​completion;​624 -​·​(void)​getSDIOutputFormatWit​hCompletion:​(void·​(^_Nonnull)​(DJILBAirLinkSecondar​yVideoFormat·​format,​·​NSError·​*_Nullable·​error)​)​completion;​
558 625
559 /​**626 /​**
560 ·​*··​Sets·​the·​PIP·​(Picture·​In·​Picture)​·​position·​relative·​to·​the·​top·​left·​corner·​of·​the·​main·​subject·​video·​feed.​627 ·​*··​Sets·​the·​PIP·​(Picture·​In·​Picture)​·​position·​relative·​to·​the·​top·​left·​corner·​of·​the·​main·​subject·​video·​feed.​
572 ·​*··​@param·​completion·​Completion·​block.​639 ·​*··​@param·​completion·​Completion·​block.​
573 ·​*640 ·​*
574 ·​*/​641 ·​*/​
575 -​·​(void)​getPIPPositionWithCom​pletion:​(void·​(^_Nullable)​(DJILBAirLinkPIPPosit​ion·​position,​·​NSError·​*_Nullable·​error)​)​completion;​642 -​·​(void)​getPIPPositionWithCom​pletion:​(void·​(^_Nonnull)​(DJILBAirLinkPIPPosit​ion·​position,​·​NSError·​*_Nullable·​error)​)​completion;​
643
644 /​**
645 ·​*··​`YES`·​if·​Lightbridge·​2·​device·​supports·​dual·​encode·​mode.​·​Dual·​encode·​mode·​allows·​the·​Lightbridge·​module·​to·​encode·​and·​transmit·​both·​it's·​AV·​and·​HDMI·​inputs·​simultaneously.​
646 ·​*/​
647 -​(BOOL)​·​isDualEncodeModeSuppo​rted;​
648
649 /​**
650 ·​*··​Sets·​Lightbridge·​2·​encode·​mode.​·​It·​is·​only·​available·​when·​`isDualEncodeModeSupp​orted`·​returns·​`YES`.​·​For·​Lightbridge·​2·​modules·​that·​don't·​support·​dual·​encode·​mode,​·​the·​encode·​mode·​is·​always·​single.​
651 ·​*
652 ·​*··​@param·​mode·········​The·​encode·​mode·​to·​set.​
653 ·​*··​@param·​completion···​Completion·​block.​
654 ·​*··
655 ·​*··​@see·​`DJILBAirLinkEncodeMo​de`
656 ·​*/​
657 -​·​(void)​setEncodeMode:​(DJILBAirLinkEncodeMo​de)​mode·​withCompletion:​(DJICompletionBlock)​completion;​
658 /​**
659 ·​*··​Gets·​Lightbridge·​2·​encode·​mode.​·​It·​is·​only·​available·​when·​`isDualEncodeModeSupp​orted`·​returns·​`YES`.​·​For·​Lightbridge·​2·​modules·​that·​don't·​support·​dual·​encode·​mode,​·​the·​encode·​mode·​is·​always·​single.​
660 ·​*
661 ·​*··​@param·​completion···​Completion·​block.​
662 ·​*
663 ·​*··​@see·​`DJILBAirLinkEncodeMo​de`
664 ·​*/​
665 -​·​(void)​getEncodeModeWithComp​letion:​(void·​(^_Nonnull)​(DJILBAirLinkEncodeMo​de·​mode,​·​NSError·​*_Nullable·​error)​)​completion;​
666 /​**
667 ·​*··​Sets·​the·​computational·​power·​and·​bandwidth·​balance·​between·​AV·​and·​HMDI·​inputs·​on·​the·​Lightbridge·​2·​module·​when·​dual·​encode·​mode·​is·​enabled.​·​Balance·​is·​in·​percent·​[0.​0,​··​1.​0].​·​It·​is·​only·​available·​when·​`isDualEncodeModeSupp​orted`·​returns·​`YES`.​
668 ·​*··​When·​`percent`·​is·​0.​0,​·​all·​resources·​are·​allocated·​for·​video·​data·​from·​AV·​port.​
669 ·​*··​When·​`percent`·​is·​1.​0,​·​all·​resources·​are·​allocated·​for·​video·​data·​from·​HDMI·​port.​
670 ·​*
671 ·​*··​@param·​percent······​Percentage·​resources·​dedicated·​to·​HDMI·​encoding·​and·​transmission.​
672 ·​*··​@param·​completion···​Completion·​block.​
673 ·​*/​
674 -​·​(void)​setDualEncodeModePerc​ent:​(float)​percent·​withCompletion:​(DJICompletionBlock)​completion;​
675 /​**
676 ·​*··​Gets·​the·​computational·​power·​and·​bandwidth·​balance·​between·​AV·​and·​HMDI·​inputs·​on·​the·​Lightbridge·​2·​module·​when·​dual·​encode·​mode·​is·​enabled.​
677 ·​*··​It·​is·​only·​available·​when·​`isDualEncodeModeSupp​orted`·​returns·​`YES`.​
678 ·​*··​When·​`percent`·​is·​0.​0,​·​all·​resources·​are·​allocated·​for·​video·​data·​from·​AV·​port.​
679 ·​*··​When·​`percent`·​is·​1.​0,​·​all·​resources·​are·​allocated·​for·​video·​data·​from·​HDMI·​port.​
680 ·​*
681 ·​*··​@param·​completion···​Completion·​block.​
682 ·​*/​
683 -​·​(void)​getDualEncodeModePerc​entWithCompletion:​(void·​(^_Nonnull)​(float·​percent,​·​NSError·​*_Nullable·​error)​)​completion;​
576 684
577 @end685 @end
578 686
diff --git a/Headers/DJILandingGear.h b/Headers/DJILandingGear.h
index 13b81df..f3216e0 100644
3.1.1/​Headers/​DJILandingGear.​h3.2/​Headers/​DJILandingGear.​h
45 ·​*/​45 ·​*/​
46 typedef·​NS_ENUM·​(uint8_t,​·​DJILandingGearMode)​{46 typedef·​NS_ENUM·​(uint8_t,​·​DJILandingGearMode)​{
47 ····​/​**47 ····​/​**
48 ·····​*··​Landing·​Gear·​can·​be·​deployed·​and·​retracted·​through·​function·​calls.​48 ·····​*··​Landing·​Gear·​can·​be·​deployed·​and·​retracted·​through·​function·​calls.​·
49 ·····​*··​It·​is·​supported·​by·​Inspire·​1·​and·​Matrice·​600.​
49 ·····​*/​50 ·····​*/​
50 ····​DJILandingGearModeNor​mal,​51 ····​DJILandingGearModeNor​mal,​
51 ····​/​**52 ····​/​**
52 ·····​*··​Landing·​Gear·​is·​in·​transport·​mode·​(either·​it·​is·​moving·​into,​·​moving·​out·​of,​·​or·​stopped·​in·​transport·​position)​.​53 ·····​*··​Landing·​Gear·​is·​in·​transport·​mode·​(either·​it·​is·​moving·​into,​·​moving·​out·​of,​·​or·​stopped·​in·​transport·​position)​.​
54 ·····​*··​It·​is·​only·​supported·​by·​Inspire·​1.​
53 ·····​*/​55 ·····​*/​
54 ····​DJILandingGearModeTra​nsport,​56 ····​DJILandingGearModeTra​nsport,​
55 ····​/​**57 ····​/​**
56 ·····​*··​Landing·​Gear·​automatically·​transitions·​between·​deployed·​and·​retracted·​depending·​on·​altitude.​·​During·​take-​off,​·​the·​transition·​point·​is·​1.​2m·​above·​ground.​·​After·​take-​off·​(during·​flight·​or·​when·​landing)​,​·​the·​transition·​point·​is·​0.​5m·​above·​ground.​58 ·····​*··​Landing·​Gear·​automatically·​transitions·​between·​deployed·​and·​retracted·​depending·​on·​altitude.​·​During·​take-​off,​·​the·​transition·​point·​is·​1.​2m·​above·​ground.​·​After·​take-​off·​(during·​flight·​or·​when·​landing)​,​·​the·​transition·​point·​is·​0.​5m·​above·​ground.​
59 ·····​*··​It·​is·​supported·​by·​Inspire·​1·​and·​Matrice·​600.​
57 ·····​*/​60 ·····​*/​
58 ····​DJILandingGearModeAut​o,​61 ····​DJILandingGearModeAut​o,​
59 ····​/​**62 ····​/​**
69 @interface·​DJILandingGear·​:​·​NSObject72 @interface·​DJILandingGear·​:​·​NSObject
70 73
71 /​**74 /​**
72 ·​*··​The·​current·​state/​position·​of·​the·​landing·​gear.​75 ·​*··​The·​current·​state/​position·​of·​the·​landing·​gear.​·
76 ·​*··​It·​is·​only·​supported·​by·​Inspire·​1.​
73 ·​*/​77 ·​*/​
74 @property(nonatomic,​·​readonly)​·​DJILandingGearStatus·​status;​78 @property(nonatomic,​·​readonly)​·​DJILandingGearStatus·​status;​
75 79
79 @property(nonatomic,​·​readonly)​·​DJILandingGearMode·​mode;​83 @property(nonatomic,​·​readonly)​·​DJILandingGearMode·​mode;​
80 84
81 /​**85 /​**
82 ·​*··​YES·​if·​the·​landing·​gear·​is·​supported·​for·​the·​connected·​aircraft.​
83 ·​*/​
84 -​·​(BOOL)​isLandingGearMovable;​
85
86 /​**
87 ·​*··​Turns·​on·​the·​self-​adaptive·​landing·​gear.​·​If·​self-​adaptive·​landing·​gear·​is·​turned·​on,​·​the·​landing·​gear·​automatically86 ·​*··​Turns·​on·​the·​self-​adaptive·​landing·​gear.​·​If·​self-​adaptive·​landing·​gear·​is·​turned·​on,​·​the·​landing·​gear·​automatically
88 ·​*··​transitions·​between·​deployed·​and·​retracted·​depending·​on·​altitude.​·​During·​take-​off,​·​the·​transition·​point·​is·​1.​2m·​above87 ·​*··​transitions·​between·​deployed·​and·​retracted·​depending·​on·​altitude.​·​During·​take-​off,​·​the·​transition·​point·​is·​1.​2m·​above
89 ·​*··​ground.​·​After·​take-​off·​(during·​flight·​or·​when·​landing)​,​·​the·​transition·​point·​is·​0.​5m·​above·​ground.​88 ·​*··​ground.​·​After·​take-​off·​(during·​flight·​or·​when·​landing)​,​·​the·​transition·​point·​is·​0.​5m·​above·​ground.​
89 ·​*
90 ·​*··​@param·​completion···​Completion·​block·​that·​receives·​the·​execution·​result.​
90 ·​*/​91 ·​*/​
91 -​·​(void)​turnOnAutoLandingGear​WithCompletion:​(DJICompletionBlock)​completion;​92 -​·​(void)​turnOnAutoLandingGear​WithCompletion:​(DJICompletionBlock)​completion;​
92 93
95 ·​*··​the·​aircraft·​will·​not·​automatically·​lower·​and·​raise·​the·​landing·​gear·​when·​the·​aircraft96 ·​*··​the·​aircraft·​will·​not·​automatically·​lower·​and·​raise·​the·​landing·​gear·​when·​the·​aircraft
96 ·​*··​is·​0.​5m·​above·​the·​ground.​97 ·​*··​is·​0.​5m·​above·​the·​ground.​
97 ·​*98 ·​*
99 ·​*··​@param·​completion···​Completion·​block·​that·​receives·​the·​execution·​result.​
98 ·​*/​100 ·​*/​
99 -​·​(void)​turnOffAutoLandingGea​rWithCompletion:​(DJICompletionBlock)​completion;​101 -​·​(void)​turnOffAutoLandingGea​rWithCompletion:​(DJICompletionBlock)​completion;​
100 102
101 /​**103 /​**
102 ·​*··​Enters·​the·​transport·​mode.​·​In·​transport·​mode,​·​the·​landing·​gear·​will·​be·​in·​the·​same·​geometric·​plane·​as·​the·​aircraft·​body·​so·​it·​can·​be·​easily·​transported.​104 ·​*··​Enters·​the·​transport·​mode.​·​In·​transport·​mode,​·​the·​landing·​gear·​will·​be·​in·​the·​same·​geometric·​plane·​as·​the·​aircraft·​body·​so·​it·​can·​be·​easily·​transported.​
105 ·​*··​It·​is·​only·​supported·​by·​Inspire·​1.​
103 ·​*106 ·​*
107 ·​*··​@param·​completion···​Completion·​block·​that·​receives·​the·​execution·​result.​
104 ·​*··​@attention·​If·​the·​gimbal·​is·​not·​removed·​or·​the·​ground·​is·​not·​flat,​·​the·​enter·​transport·​mode·​will·​fail.​108 ·​*··​@attention·​If·​the·​gimbal·​is·​not·​removed·​or·​the·​ground·​is·​not·​flat,​·​the·​enter·​transport·​mode·​will·​fail.​
105 ·​*/​109 ·​*/​
106 -​·​(void)​enterTransportModeWit​hCompletion:​(DJICompletionBlock)​completion;​110 -​·​(void)​enterTransportModeWit​hCompletion:​(DJICompletionBlock)​completion;​
107 111
108 /​**112 /​**
109 ·​*··​Exit·​transport·​mode.​113 ·​*··​Exit·​transport·​mode.​
114 ·​*··​It·​is·​only·​supported·​by·​Inspire·​1.​
110 ·​*115 ·​*
116 ·​*··​@param·​completion···​Completion·​block·​that·​receives·​the·​execution·​result.​
111 ·​*··​@attention·​If·​the·​ground·​is·​not·​flat,​·​exit·​transport·​mode·​will·​fail.​117 ·​*··​@attention·​If·​the·​ground·​is·​not·​flat,​·​exit·​transport·​mode·​will·​fail.​
112 ·​*/​118 ·​*/​
113 -​·​(void)​exitTransportModeWith​Completion:​(DJICompletionBlock)​completion;​119 -​·​(void)​exitTransportModeWith​Completion:​(DJICompletionBlock)​completion;​
114 120
115 /​**121 /​**
116 ·​*··​Retracts·​the·​landing·​gear.​·​Should·​only·​be·​used·​when·​`setLandingGearMode`·​is·​`DJILandingGearModeNo​rmal`.​122 ·​*··​Retracts·​the·​landing·​gear.​·​Should·​only·​be·​used·​when·​`setLandingGearMode`·​is·​`DJILandingGearModeNo​rmal`.​
123 ·​*··​Only·​supported·​by·​Inspire·​1.​
124 ·​*··​For·​Matrice·​600,​·​the·​landing·​gear·​cannot·​be·​controlled·​through·​the·​SDK,​·​only·​automatically·​by·​the·​aircraft·​or·​manually·​by·​the·​remote·​controller.​
117 ·​*125 ·​*
126 ·​*··​@param·​completion···​Completion·​block·​that·​receives·​the·​execution·​result.​
118 ·​*/​127 ·​*/​
119 -​·​(void)​retractLandingGearWit​hCompletion:​(DJICompletionBlock)​completion;​128 -​·​(void)​retractLandingGearWit​hCompletion:​(DJICompletionBlock)​completion;​
120 129
121 /​**130 /​**
122 ·​*··​Deploys·​the·​landing·​gear.​·​Should·​only·​be·​used·​when·​`setLandingGearMode`·​is·​`DJILandingGearModeNo​rmal`.​131 ·​*··​Deploys·​the·​landing·​gear.​·​Should·​only·​be·​used·​when·​`setLandingGearMode`·​is·​`DJILandingGearModeNo​rmal`.​
132 ·​*··​Only·​supported·​by·​Inspire·​1.​·
133 ·​*·​For·​Matrice·​600,​·​the·​landing·​gear·​cannot·​be·​controlled·​through·​the·​SDK,​·​only·​automatically·​by·​the·​aircraft·​or·​manually·​by·​the·​remote·​controller.​
123 ·​*134 ·​*
135 ·​*··​@param·​completion···​Completion·​block·​that·​receives·​the·​execution·​result.​
124 ·​*/​136 ·​*/​
125 -​·​(void)​deployLandingGearWith​Completion:​(DJICompletionBlock)​completion;​137 -​·​(void)​deployLandingGearWith​Completion:​(DJICompletionBlock)​completion;​
126 138
diff --git a/Headers/DJIMedia.h b/Headers/DJIMedia.h
index 7c1c640..7fadb3d 100644
3.1.1/​Headers/​DJIMedia.​h3.2/​Headers/​DJIMedia.​h
65 /​**65 /​**
66 ·​*··​Returns·​the·​name·​of·​the·​media·​file.​66 ·​*··​Returns·​the·​name·​of·​the·​media·​file.​
67 ·​*/​67 ·​*/​
68 @property(nonatomic,​·​readonly)​·​NSString·​*fileName;​68 @property(nonatomic,​·​readonly)​·​NSString·​*_Nonnull·fileName;​
69 69
70 /​**70 /​**
71 ·​*··​Returns·​the·​size,​·​in·​bytes,​·​of·​the·​media·​file.​71 ·​*··​Returns·​the·​size,​·​in·​bytes,​·​of·​the·​media·​file.​
76 ·​*··​Returns·​the·​time·​when·​the·​media·​file·​was·​created·​as·​a·​string·​in76 ·​*··​Returns·​the·​time·​when·​the·​media·​file·​was·​created·​as·​a·​string·​in
77 ·​*··​the·​format·​"yyyy-​MM-​dd·​HH:​mm:​ss".​77 ·​*··​the·​format·​"yyyy-​MM-​dd·​HH:​mm:​ss".​
78 ·​*/​78 ·​*/​
79 @property(nonatomic,​·​readonly)​·​NSString·​*timeCreated;​79 @property(nonatomic,​·​readonly)​·​NSString·​*_Nonnull·timeCreated;​
80 80
81 /​**81 /​**
82 ·​*··​If·​the·​media·​file·​is·​a·​video,​·​this·​property·​returns·​the·​duration82 ·​*··​If·​the·​media·​file·​is·​a·​video,​·​this·​property·​returns·​the·​duration
114 ·​*··​@param·​block·​Data·​callback·​will·​be·​invoked·​when·​media·​data·​has·​been·​received114 ·​*··​@param·​block·​Data·​callback·​will·​be·​invoked·​when·​media·​data·​has·​been·​received
115 ·​*··​from·​the·​SD·​card·​or·​an·​error·​has·​occurred.​115 ·​*··​from·​the·​SD·​card·​or·​an·​error·​has·​occurred.​
116 ·​*/​116 ·​*/​
117 -​·​(void)​fetchMediaDataWithCom​pletion:​(void·​(^)​(NSData·​*_Nullable·​data,​·​BOOL·​*_Nullable·​stop,​·​NSError·​*_Nullable·​error)​)​block;​117 -​·​(void)​fetchMediaDataWithCom​pletion:​(void·​(^_Nonnull)​(NSData·​*_Nullable·​data,​·​BOOL·​*_Nullable·​stop,​·​NSError·​*_Nullable·​error)​)​block;​
118 118
119 /​**119 /​**
120 ·​*··​Fetch·​media's·​preview·​image.​·​The·​preview·​image·​is·​a·​lower·​resolution·​(960·​x·​540)​·​version·​of·​a·​still·​picture·​or120 ·​*··​Fetch·​media's·​preview·​image.​·​The·​preview·​image·​is·​a·​lower·​resolution·​(960·​x·​540)​·​version·​of·​a·​still·​picture·​or
123 ·​*123 ·​*
124 ·​*··​@param·​block·​Remote·​execute·​result·​callback.​124 ·​*··​@param·​block·​Remote·​execute·​result·​callback.​
125 ·​*/​125 ·​*/​
126 -​·​(void)​fetchPreviewImageWith​Completion:​(void·​(^)​(UIImage·​*image,​·​NSError·​*_Nullable·​error)​)​block;​126 -​·​(void)​fetchPreviewImageWith​Completion:​(void·​(^_Nonnull)​(UIImage·​*image,​·​NSError·​*_Nullable·​error)​)​block;​
127 127
128 128
129 /​**129 /​**
133 ·​*133 ·​*
134 ·​*··​@param·​block·​Remote·​execute·​result·​callback.​134 ·​*··​@param·​block·​Remote·​execute·​result·​callback.​
135 ·​*/​135 ·​*/​
136 -​·​(void)​fetchSubMediaFileList​WithCompletion:​(void·​(^)​(NSArray<DJIMedia·​*>·​*_Nullable·​mediaList,​·​NSError·​*_Nullable·​error)​)​block;​136 -​·​(void)​fetchSubMediaFileList​WithCompletion:​(void·​(^_Nonnull)​(NSArray<DJIMedia·​*>·​*_Nullable·​mediaList,​·​NSError·​*_Nullable·​error)​)​block;​
137 137
138 @end138 @end
139 139
diff --git a/Headers/DJIMediaManager.h b/Headers/DJIMediaManager.h
index bba57ff..48c9ccb 100644
3.1.1/​Headers/​DJIMediaManager.​h3.2/​Headers/​DJIMediaManager.​h
27 ·​*27 ·​*
28 ·​*··​@param·​block·​Remote·​execute·​result.​·​Objects·​in·​mediaList·​are·​kind·​of·​class·​DJIMedia.​28 ·​*··​@param·​block·​Remote·​execute·​result.​·​Objects·​in·​mediaList·​are·​kind·​of·​class·​DJIMedia.​
29 ·​*/​29 ·​*/​
30 -​·​(void)​fetchMediaListWithCom​pletion:​(void·​(^)​(NSArray<DJIMedia·​*>·​*_Nullable·​mediaList,​·​NSError·​*_Nullable·​error)​)​block;​30 -​·​(void)​fetchMediaListWithCom​pletion:​(void·​(^_Nonnull)​(NSArray<DJIMedia·​*>·​*_Nullable·​mediaList,​·​NSError·​*_Nullable·​error)​)​block;​
31 31
32 /​**32 /​**
33 ·​*··​Delete·​media·​files·​from·​remote·​album.​·​Set·​the·​camera's·​work·​mode·​to·​`DJICameraModeMediaDo​wnload`·​before·​executing·​this·​method.​·​Deletion·​is·​not·​supported·​by·​the·​media·​file·​generated·​by·​a·​panorama·​mission.​33 ·​*··​Delete·​media·​files·​from·​remote·​album.​·​Set·​the·​camera's·​work·​mode·​to·​`DJICameraModeMediaDo​wnload`·​before·​executing·​this·​method.​·​Deletion·​is·​not·​supported·​by·​the·​media·​file·​generated·​by·​a·​panorama·​mission.​
35 ·​*··​@param·​media··​Media·​files·​to·​be·​deleted.​35 ·​*··​@param·​media··​Media·​files·​to·​be·​deleted.​
36 ·​*··​@param·​block··​The·​remote·​execution·​result.​·​'deleteFailures'·​will·​contain·​media·​that·​failed·​to·​delete.​36 ·​*··​@param·​block··​The·​remote·​execution·​result.​·​'deleteFailures'·​will·​contain·​media·​that·​failed·​to·​delete.​
37 ·​*/​37 ·​*/​
38 -​·​(void)​deleteMedia:​(NSArray<DJIMedia·​*>·​*)​media·​withCompletion:​(void·​(^)​(NSArray<DJIMedia·​*>·​*_Nonnull·​deleteFailures,​·​NSError·​*_Nullable·​error)​)​block;​38 -​·​(void)​deleteMedia:​(NSArray<DJIMedia·​*>·​*_Nonnull)​media·​withCompletion:​(void·​(^_Nullable)​(NSArray<DJIMedia·​*>·​*_Nonnull·​deleteFailures,​·​NSError·​*_Nullable·​error)​)​block;​
39 39
40 @end40 @end
41 41
diff --git a/Headers/DJIPanoramaMission.h b/Headers/DJIPanoramaMission.h
index 502a88c..09f08ef 100644
3.1.1/​Headers/​DJIPanoramaMission.​h3.2/​Headers/​DJIPanoramaMission.​h
58 ·​*··​In·​full·​circle·​mode,​·​8·​photos·​are·​taken.​·​In·​half·​circle·​mode,​·​5·​photos·​are·​taken.​58 ·​*··​In·​full·​circle·​mode,​·​8·​photos·​are·​taken.​·​In·​half·​circle·​mode,​·​5·​photos·​are·​taken.​
59 ·​*··​Commands·​cannot·​be·​sent·​to·​the·​camera·​until·​the·​mission·​is·​finished.​·​The·​Panorama·​Mission·​does·​not·​support·​the·​image·​stitching·​feature,​·​so·​the·​images·​must·​be·​stitched·​manually.​·​All·​the·​images·​will·​be·​stored·​on·​the·​SD·​card.​59 ·​*··​Commands·​cannot·​be·​sent·​to·​the·​camera·​until·​the·​mission·​is·​finished.​·​The·​Panorama·​Mission·​does·​not·​support·​the·​image·​stitching·​feature,​·​so·​the·​images·​must·​be·​stitched·​manually.​·​All·​the·​images·​will·​be·​stored·​on·​the·​SD·​card.​
60 ·​*60 ·​*
61 ·​*··​Panorama·​Mission·​is·​only·​supported·​on·OSMO.​61 ·​*··​Panorama·​Mission·​is·​only·​supported·by·Osmo·with·X3·camera.​
62 ·​*/​62 ·​*/​
63 @interface·​DJIPanoramaMission·​:​·​DJIMission63 @interface·​DJIPanoramaMission·​:​·​DJIMission
64 64
diff --git a/Headers/DJIPlaybackManager.h b/Headers/DJIPlaybackManager.h
index a607caf..7d1630f 100644
3.1.1/​Headers/​DJIPlaybackManager.​h3.2/​Headers/​DJIPlaybackManager.​h
17 /​**17 /​**
18 ·​*··​Block·​invoked·​when·​preparing·​a·​file·​for·​download.​18 ·​*··​Block·​invoked·​when·​preparing·​a·​file·​for·​download.​
19 ·​*/​19 ·​*/​
20 typedef·​void·​(^DJIFileDownloadPrep​aringBlock)​(NSString·​*_Nullable·​fileName,​·​DJIDownloadFileType·​fileType,​·​NSUInteger·​fileSize,​·​BOOL·​*skip)​;​20 typedef·​void·​(^_Nullable·DJIFileDownloadPrepar​ingBlock)​(NSString·​*_Nullable·​fileName,​·​DJIDownloadFileType·​fileType,​·​NSUInteger·​fileSize,​·​BOOL·​*skip)​;​
21 21
22 /​**22 /​**
23 ·​*··​Block·​invoked·​when·​a·​file·​is·​downloading.​23 ·​*··​Block·​invoked·​when·​a·​file·​is·​downloading.​
24 ·​*/​24 ·​*/​
25 typedef·​void·​(^DJIFileDownloadingB​lock)​(NSData·​*_Nullable·​data,​·​NSError·​*_Nullable·​error)​;​25 typedef·​void·​(^_Nullable·DJIFileDownloadingBlo​ck)​(NSData·​*_Nullable·​data,​·​NSError·​*_Nullable·​error)​;​
26 26
27 /​**27 /​**
28 ·​*··​Block·​invoked·​after·​a·​file·​has·​been·​downloaded.​28 ·​*··​Block·​invoked·​after·​a·​file·​has·​been·​downloaded.​
29 ·​*/​29 ·​*/​
30 typedef·​void·​(^DJIFileDownloadComp​letionBlock)​()​;​30 typedef·​void·​(^_Nullable·DJIFileDownloadComple​tionBlock)​()​;​
31 31
32 /​*********************​*********************​*********************​******************/​32 /​*********************​*********************​*********************​******************/​
33 #pragma·​mark·​-​·​DJIPlaybackDelegate33 #pragma·​mark·​-​·​DJIPlaybackDelegate
45 ·​*45 ·​*
46 ·​*··​@param·​playbackState·​The·​camera's·​playback·​state.​46 ·​*··​@param·​playbackState·​The·​camera's·​playback·​state.​
47 ·​*/​47 ·​*/​
48 -​·​(void)​playbackManager:​(DJIPlaybackManager·​*)​playbackManager·​didUpdatePlaybackStat​e:​(DJICameraPlaybackSta​te·​*)​playbackState;​48 -​·​(void)​playbackManager:​(DJIPlaybackManager·​*_Nonnull)​playbackManager·​didUpdatePlaybackStat​e:​(DJICameraPlaybackSta​te·​*_Nonnull)​playbackState;​
49 49
50 @end50 @end
51 51
118 -​·​(void)​downloadSelectedFiles​WithPreparation:​(DJIFileDownloadPrepa​ringBlock)​prepareBlock·​process:​(DJIFileDownloadingBl​ock)​dataBlock·​fileCompletion:​(DJIFileDownloadCompl​etionBlock)​fileCompletionBlock·​overallCompletion:​(DJICompletionBlock)​overallCompletionBloc​k;​118 -​·​(void)​downloadSelectedFiles​WithPreparation:​(DJIFileDownloadPrepa​ringBlock)​prepareBlock·​process:​(DJIFileDownloadingBl​ock)​dataBlock·​fileCompletion:​(DJIFileDownloadCompl​etionBlock)​fileCompletionBlock·​overallCompletion:​(DJICompletionBlock)​overallCompletionBloc​k;​
119 119
120 /​**120 /​**
121 ·​*·​Cancel·​current·​file·​download.​
122 ·​*
123 ·​*·​@param·​block·​Callback·​after·​the·​operation·​finished.​
124 ·​*/​
125
126 -​·​(void)​stopDownloadingFilesW​ithCompletion:​(DJICompletionBlock)​block;​
127
128 /​**
121 ·​*··​Enables·​the·​user·​to·​preview·​multiple·​files·​when·​the·​camera·​is·​in·​Playback·​mode.​129 ·​*··​Enables·​the·​user·​to·​preview·​multiple·​files·​when·​the·​camera·​is·​in·​Playback·​mode.​
122 ·​*/​130 ·​*/​
123 -​·​(void)​enterMultiplePreviewM​ode;​131 -​·​(void)​enterMultiplePreviewM​ode;​
diff --git a/Headers/DJIRemoteController.h b/Headers/DJIRemoteController.h
index 055d12e..32ebb85 100644
3.1.1/​Headers/​DJIRemoteController.​h3.2/​Headers/​DJIRemoteController.​h
18 18
19 #pragma·​pack(1)​19 #pragma·​pack(1)​
20 20
21 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​21 /​*********************​*********************​*********************​******************/​
22 #pragma·​mark·​DJIRemoteControllerMo​de22 #pragma·​mark·​DJIRemoteControllerMo​de
23 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​23 /​*********************​*********************​*********************​******************/​
24
24 /​**25 /​**
25 ·​*··​Remote·​Controller·​mode·​of·​operation·​can·​be·​normal·​(single·​RC·​connected·​to·​aircraft)​,​·​master,​26 ·​*··​Remote·​Controller·​mode·​of·​operation·​can·​be·​normal·​(single·​RC·​connected·​to·​aircraft)​,​·​master,​
26 ·​*··​slave,​·​or·​unknown.​27 ·​*··​slave,​·​or·​unknown.​
44 ····​DJIRemoteControllerMo​deUnknown,​45 ····​DJIRemoteControllerMo​deUnknown,​
45 };​46 };​
46 47
47 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​48 /​*********************​*********************​*********************​******************/​
48 #pragma·​mark·​DJIRCID49 #pragma·​mark·​DJIRCID
49 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​50 /​*********************​*********************​*********************​******************/​
51
50 /​**52 /​**
51 ·​*··​Remote·​Controller's·​unique·​identification·​number.​·​This·​is·​given·​to·​each·​Remote53 ·​*··​Remote·​Controller's·​unique·​identification·​number.​·​This·​is·​given·​to·​each·​Remote
52 ·​*··​Controller·​during·​manufacturing·​and·​cannot·​be·​changed.​54 ·​*··​Controller·​during·​manufacturing·​and·​cannot·​be·​changed.​
53 ·​*/​55 ·​*/​
54 typedef·​uint32_t·​DJIRCID;​56 typedef·​uint32_t·​DJIRCID;​
55 57
56 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​58 /​*********************​*********************​*********************​******************/​
57 #pragma·​mark·​DJIRCSignalQualityOfC​onnectedRC59 #pragma·​mark·​DJIRCSignalQualityOfC​onnectedRC
58 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​60 /​*********************​*********************​*********************​******************/​
61
59 /​**62 /​**
60 ·​*··​Signal·​quality·​of·​a·​connected·​master·​or·​slave·​Remote·​Controller·​in·​percent·​[0,​·​100].​63 ·​*··​Signal·​quality·​of·​a·​connected·​master·​or·​slave·​Remote·​Controller·​in·​percent·​[0,​·​100].​
61 ·​*/​64 ·​*/​
62 typedef·​uint8_t·​DJIRCSignalQualityOfC​onnectedRC;​65 typedef·​uint8_t·​DJIRCSignalQualityOfC​onnectedRC;​
63 66
64 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​67 /​*********************​*********************​*********************​******************/​
65 #pragma·​mark·​DJIRCControlStyle68 #pragma·​mark·​DJIRCControlStyle
66 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​69 /​*********************​*********************​*********************​******************/​
70
67 /​**71 /​**
68 ·​*··​Remote·​Controller's·​control·​style.​72 ·​*··​Remote·​Controller's·​control·​style.​
69 ·​*/​73 ·​*/​
103 ····​RCControlStyleUnknown​,​107 ····​RCControlStyleUnknown​,​
104 };​108 };​
105 109
106 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​110 /​*********************​*********************​*********************​******************/​
107 #pragma·​mark·​DJIRCControlChannelNa​me111 #pragma·​mark·​DJIRCControlChannelNa​me
108 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​112 /​*********************​*********************​*********************​******************/​
113
109 /​**114 /​**
110 ·​*··​Remote·​Controller·​control·​channels.​·​These·​will·​be·​used·​in·​RC·​Custom·​Control·​Style.​·​See115 ·​*··​Remote·​Controller·​control·​channels.​·​These·​will·​be·​used·​in·​RC·​Custom·​Control·​Style.​·​See
111 ·​*··​`RCControlStyleCustom​`·​and·​`RCSlaveControlStyleC​ustom`·​for·​more·​information.​116 ·​*··​`RCControlStyleCustom​`·​and·​`RCSlaveControlStyleC​ustom`·​for·​more·​information.​
130 ····​DJIRCControlChannelNa​meYaw,​135 ····​DJIRCControlChannelNa​meYaw,​
131 };​136 };​
132 137
133 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​138 /​*********************​*********************​*********************​******************/​
134 #pragma·​mark·​DJIRCControlChannel139 #pragma·​mark·​DJIRCControlChannel
135 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​140 /​*********************​*********************​*********************​******************/​
141
136 /​**142 /​**
137 ·​*··​Remote·​Controller's·​control·​channel.​143 ·​*··​Remote·​Controller's·​control·​channel.​
138 ·​*/​144 ·​*/​
154 ····​BOOL·​reverse;​160 ····​BOOL·​reverse;​
155 }·​DJIRCControlChannel;​161 }·​DJIRCControlChannel;​
156 162
157 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​163 /​*********************​*********************​*********************​******************/​
158 #pragma·​mark·​DJIRCControlMode164 #pragma·​mark·​DJIRCControlMode
159 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​165 /​*********************​*********************​*********************​******************/​
166
160 /​**167 /​**
161 ·​*··​Remote·​Controller's·​control·​mode.​168 ·​*··​Remote·​Controller's·​control·​mode.​
162 ·​*/​169 ·​*/​
172 ····​DJIRCControlChannel·​controlChannel[DJI_RC​_CONTROL_CHANNEL_SIZE​];​179 ····​DJIRCControlChannel·​controlChannel[DJI_RC​_CONTROL_CHANNEL_SIZE​];​
173 }·​DJIRCControlMode;​180 }·​DJIRCControlMode;​
174 181
175 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​182 /​*********************​*********************​*********************​******************/​
176 #pragma·​mark·​DJIRCRequestGimbalCon​trolResult183 #pragma·​mark·​DJIRCRequestGimbalCon​trolResult
177 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​184 /​*********************​*********************​*********************​******************/​
185
178 /​**186 /​**
179 ·​*··​Result·​when·​a·​slave·​Remote·​Controller·​requests·​permission·​to·​control·​the·​gimbal.​187 ·​*··​Result·​when·​a·​slave·​Remote·​Controller·​requests·​permission·​to·​control·​the·​gimbal.​
180 ·​*/​188 ·​*/​
203 ····​RCRequestGimbalContro​lResultUnknown,​211 ····​RCRequestGimbalContro​lResultUnknown,​
204 };​212 };​
205 213
206 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​214 /​*********************​*********************​*********************​******************/​
207 #pragma·​mark·​DJIRCControlPermissio​n215 #pragma·​mark·​DJIRCControlPermissio​n
208 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​216 /​*********************​*********************​*********************​******************/​
217
209 /​**218 /​**
210 ·​*··​Remote·​Controller's·​control·​permission.​219 ·​*··​Remote·​Controller's·​control·​permission.​
211 ·​*/​220 ·​*/​
243 ····​bool·​hasCaptureControlPerm​ission;​252 ····​bool·​hasCaptureControlPerm​ission;​
244 }·​DJIRCControlPermissio​n;​253 }·​DJIRCControlPermissio​n;​
245 254
246 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​255 /​*********************​*********************​*********************​******************/​
247 #pragma·​mark·​DJIRCGimbalControlSpe​ed256 #pragma·​mark·​DJIRCGimbalControlSpe​ed
248 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​257 /​*********************​*********************​*********************​******************/​
258
249 /​**259 /​**
250 ·​*··​Remote·​Controller's·​gimbal·​control·​speed.​260 ·​*··​Remote·​Controller's·​gimbal·​control·​speed.​
251 ·​*/​261 ·​*/​
265 ····​uint8_t·​yawSpeed;​275 ····​uint8_t·​yawSpeed;​
266 }·​DJIRCGimbalControlSpe​ed;​276 }·​DJIRCGimbalControlSpe​ed;​
267 277
268 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​278 /​*********************​*********************​*********************​******************/​
269 #pragma·​mark·​DJIRCToAircraftPairin​gState279 #pragma·​mark·​DJIRCToAircraftPairin​gState
270 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​280 /​*********************​*********************​*********************​******************/​
281
271 /​**282 /​**
272 ·​*··​Remote·​Controller·​pairing·​state.​283 ·​*··​Remote·​Controller·​pairing·​state.​
273 ·​*/​284 ·​*/​
290 ····​DJIRCToAircraftPairin​gStateUnknown,​301 ····​DJIRCToAircraftPairin​gStateUnknown,​
291 };​302 };​
292 303
293 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​304 /​*********************​*********************​*********************​******************/​
294 #pragma·​mark·​DJIRCJoinMasterResult​305 #pragma·​mark·​DJIRCJoinMasterResult​
295 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​306 /​*********************​*********************​*********************​******************/​
307
296 /​**308 /​**
297 ·​*··​Result·​when·​a·​slave·​Remote·​Controller·​tries·​to·​join309 ·​*··​Result·​when·​a·​slave·​Remote·​Controller·​tries·​to·​join
298 ·​*··​a·​master·​Remote·​Controller.​310 ·​*··​a·​master·​Remote·​Controller.​
335 ····​DJIRCJoinMasterResult​Unknown347 ····​DJIRCJoinMasterResult​Unknown
336 };​348 };​
337 349
338 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​350 /​*********************​*********************​*********************​******************/​
339 #pragma·​mark·​DJIRCBatteryInfo351 #pragma·​mark·​DJIRCBatteryInfo
340 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​352 /​*********************​*********************​*********************​******************/​
353
341 /​**354 /​**
342 ·​*··​Remote·​Controller's·​battery·​info.​355 ·​*··​Remote·​Controller's·​battery·​info.​
343 ·​*/​356 ·​*/​
355 ····​uint8_t·​remainingEnergyInPerc​ent;​368 ····​uint8_t·​remainingEnergyInPerc​ent;​
356 }·​DJIRCBatteryInfo;​369 }·​DJIRCBatteryInfo;​
357 370
358 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​371 /​*********************​*********************​*********************​******************/​
359 #pragma·​mark·​DJIRCGpsTime372 #pragma·​mark·​DJIRCGpsTime
360 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​373 /​*********************​*********************​*********************​******************/​
374
361 /​**375 /​**
362 ·​*··​Remote·​Controller's·​GPS·​time.​376 ·​*··​Remote·​Controller's·​GPS·​time.​
363 ·​*/​377 ·​*/​
389 ····​uint8_t·​day;​403 ····​uint8_t·​day;​
390 }·​DJIRCGpsTime;​404 }·​DJIRCGpsTime;​
391 405
392 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​406 /​*********************​*********************​*********************​******************/​
393 #pragma·​mark·​DJIRCGPSData407 #pragma·​mark·​DJIRCGPSData
394 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​408 /​*********************​*********************​*********************​******************/​
409
395 /​**410 /​**
396 ·​*··​Remote·​Controller's·​GPS·​data.​·​Only·​Inspire·​and·​M100·​Remote·​Controllers·​have·​GPS.​411 ·​*··​Remote·​Controller's·​GPS·​data.​·​Only·​Inspire·​and·​M100·​Remote·​Controllers·​have·​GPS.​
397 ·​*/​412 ·​*/​
436 ····​BOOL·​isValid;​451 ····​BOOL·​isValid;​
437 }·​DJIRCGPSData;​452 }·​DJIRCGPSData;​
438 453
439 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​454 /​*********************​*********************​*********************​******************/​
440 #pragma·​mark·​DJIRCGimbalControlDir​ection455 #pragma·​mark·​DJIRCGimbalControlDir​ection
441 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​456 /​*********************​*********************​*********************​******************/​
457
442 /​**458 /​**
443 ·​*··​Defines·​what·​the·​Gimbal·​Dial·​(upper·​left·​wheel·​on·​the·​Remote·​Controller)​·​will·​control.​459 ·​*··​Defines·​what·​the·​Gimbal·​Dial·​(upper·​left·​wheel·​on·​the·​Remote·​Controller)​·​will·​control.​
444 ·​*/​460 ·​*/​
457 ····​DJIRCGimbalControlDir​ectionYaw,​473 ····​DJIRCGimbalControlDir​ectionYaw,​
458 };​474 };​
459 475
460 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​476 /​*********************​*********************​*********************​******************/​
461 #pragma·​mark·​DJIRCHardwareRightWhe​el477 #pragma·​mark·​DJIRCHardwareRightWhe​el
462 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​478 /​*********************​*********************​*********************​******************/​
479
463 /​**480 /​**
464 ·​*··​Current·​state·​of·​the·​Camera·​Settings·​Dial·​(upper·​right·​wheel·​on·​the·​Remote·​Controller)​.​481 ·​*··​Current·​state·​of·​the·​Camera·​Settings·​Dial·​(upper·​right·​wheel·​on·​the·​Remote·​Controller)​.​
465 ·​*/​482 ·​*/​
487 ····​uint8_t·​value;​504 ····​uint8_t·​value;​
488 }·​DJIRCHardwareRightWhe​el;​505 }·​DJIRCHardwareRightWhe​el;​
489 506
490 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​507 /​*********************​*********************​*********************​******************/​
491 #pragma·​mark·​DJIRCHardwareLeftWhee​l508 #pragma·​mark·​DJIRCHardwareLeftWhee​l
492 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​509 /​*********************​*********************​*********************​******************/​
510
493 /​**511 /​**
494 ·​*··​Remote·​Controller's·​left·​wheel.​512 ·​*··​Remote·​Controller's·​left·​wheel.​
495 ·​*/​513 ·​*/​
501 ····​int·​value;​519 ····​int·​value;​
502 }·​DJIRCHardwareLeftWhee​l;​520 }·​DJIRCHardwareLeftWhee​l;​
503 521
504 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​522 /​*********************​*********************​*********************​******************/​
505 #pragma·​mark·​DJIRCHardwareTransfor​mationSwitchState523 #pragma·​mark·​DJIRCHardwareTransfor​mationSwitchState
506 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​524 /​*********************​*********************​*********************​******************/​
525
507 /​**526 /​**
508 ·​*··​Transformation·​Switch·​position·​states.​527 ·​*··​Transformation·​Switch·​position·​states.​
509 ·​*/​528 ·​*/​
518 ····​DJIRCHardwareTransfor​mationSwitchStateDepl​oy537 ····​DJIRCHardwareTransfor​mationSwitchStateDepl​oy
519 };​538 };​
520 539
521 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​540 /​*********************​*********************​*********************​******************/​
522 #pragma·​mark·​DJIRCHardwareTransfor​mSwitch541 #pragma·​mark·​DJIRCHardwareTransfor​mSwitch
523 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​542 /​*********************​*********************​*********************​******************/​
543
524 /​**544 /​**
525 ·​*··​Transformation·​Switch·​position.​·​The·​Transformation·​Switch·​is·​around·​the·​Return·​To·​Home·​Button·​on·​Inspire,​·​Inspire·​1·​and·​M100·​Remote·​Controllers,​·​and·​controls·​the·​state·​of·​the·​aircraft's·​landing·​gear.​545 ·​*··​Transformation·​Switch·​position.​·​The·​Transformation·​Switch·​is·​around·​the·​Return·​To·​Home·​Button·​on·​Inspire,​·​Inspire·​1·​and·​M100·​Remote·​Controllers,​·​and·​controls·​the·​state·​of·​the·​aircraft's·​landing·​gear.​
526 ·​*/​546 ·​*/​
537 ····557 ····
538 }·​DJIRCHardwareTransfor​mationSwitch;​558 }·​DJIRCHardwareTransfor​mationSwitch;​
539 559
540 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​560 /​*********************​*********************​*********************​******************/​
541 #pragma·​mark·​DJIRCHardwareFlightMo​deSwitchState561 #pragma·​mark·​DJIRCHardwareFlightMo​deSwitchState
542 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​562 /​*********************​*********************​*********************​******************/​
563
543 /​**564 /​**
544 ·​*··​Remote·​Controller·​Flight·​Mode·​Switch·​State565 ·​*··​Remote·​Controller·​Flight·​Mode·​Switch·​State
545 ·​*/​566 ·​*/​
575 ····​DJIRCHardwareFlightMo​deSwitchStateS596 ····​DJIRCHardwareFlightMo​deSwitchStateS
576 };​597 };​
577 598
578 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​599 /​*********************​*********************​*********************​******************/​
579 #pragma·​mark·​DJIRCHardwareFlightMo​deSwitch600 #pragma·​mark·​DJIRCHardwareFlightMo​deSwitch
580 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​601 /​*********************​*********************​*********************​******************/​
602
581 /​**603 /​**
582 ·​*··​The·​value·​of·​the·​Remote·​Controller's·​flight·​mode·​switch.​604 ·​*··​The·​value·​of·​the·​Remote·​Controller's·​flight·​mode·​switch.​
583 ·​*/​605 ·​*/​
589 ····​DJIRCHardwareFlightMo​deSwitchState·​mode;​611 ····​DJIRCHardwareFlightMo​deSwitchState·​mode;​
590 }·​DJIRCHardwareFlightMo​deSwitch;​612 }·​DJIRCHardwareFlightMo​deSwitch;​
591 613
592 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​614 /​*********************​*********************​*********************​******************/​
593 #pragma·​mark·​DJIRCHardwareButton615 #pragma·​mark·​DJIRCHardwareButton
594 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​616 /​*********************​*********************​*********************​******************/​
617
595 /​**618 /​**
596 ·​*··​Remote·​Controller·​has·​numerous·​momentary·​push·​buttons,​·​which·​will·​use·​this·​state.​619 ·​*··​Remote·​Controller·​has·​numerous·​momentary·​push·​buttons,​·​which·​will·​use·​this·​state.​
597 ·​*/​620 ·​*/​
607 ····​BOOL·​buttonDown;​630 ····​BOOL·​buttonDown;​
608 }·​DJIRCHardwareButton;​631 }·​DJIRCHardwareButton;​
609 632
610 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​633 /​*********************​*********************​*********************​******************/​
611 #pragma·​mark·​DJIRCHardwareJoystick​634 #pragma·​mark·​DJIRCHardwareJoystick​
612 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​635 /​*********************​*********************​*********************​******************/​
636
613 /​**637 /​**
614 ·​*··​Remote·​Controller's·​joystick638 ·​*··​Remote·​Controller's·​joystick
615 ·​*/​639 ·​*/​
622 ····​int·​value;​646 ····​int·​value;​
623 }·​DJIRCHardwareJoystick​;​647 }·​DJIRCHardwareJoystick​;​
624 648
625 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​649 /​*********************​*********************​*********************​******************/​
626 #pragma·​mark·​DJIRCHardwareState650 #pragma·​mark·​DJIRCHardwareState
627 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​651 /​*********************​*********************​*********************​******************/​
652
628 /​**653 /​**
629 ·​*··​Remote·​Controller's·​current·​state.​654 ·​*··​Remote·​Controller's·​current·​state.​
630 ·​*/​655 ·​*/​
692 ····​DJIRCHardwareButton·​customButton2;​717 ····​DJIRCHardwareButton·​customButton2;​
693 }·​DJIRCHardwareState;​718 }·​DJIRCHardwareState;​
694 719
695 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​720 /​*********************​*********************​*********************​******************/​
696 #pragma·​mark·​DJIRCRemoteFocusContr​olType721 #pragma·​mark·​DJIRCRemoteFocusContr​olType
697 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​722 /​*********************​*********************​*********************​******************/​
723
698 /​**724 /​**
699 ·​*··​Remote·​Focus·​Control·​Type725 ·​*··​Remote·​Focus·​Control·​Type
700 ·​*/​726 ·​*/​
709 ····​DJIRCRemoteFocusContr​olTypeFocalLength,​735 ····​DJIRCRemoteFocusContr​olTypeFocalLength,​
710 };​736 };​
711 737
712 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​738 /​*********************​*********************​*********************​******************/​
713 #pragma·​mark·​DJIRCRemoteFocusContr​olDirection739 #pragma·​mark·​DJIRCRemoteFocusContr​olDirection
714 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​740 /​*********************​*********************​*********************​******************/​
741
715 /​**742 /​**
716 ·​*··​Remote·​Focus·​Control·​Direction743 ·​*··​Remote·​Focus·​Control·​Direction
717 ·​*/​744 ·​*/​
726 ····​DJIRCRemoteFocusContr​olDirectionCounterClo​ckwise,​753 ····​DJIRCRemoteFocusContr​olDirectionCounterClo​ckwise,​
727 };​754 };​
728 755
729 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​756 /​*********************​*********************​*********************​******************/​
730 #pragma·​mark·​DJIRCRemoteFocusState​757 #pragma·​mark·​DJIRCRemoteFocusState​
731 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​758 /​*********************​*********************​*********************​******************/​
759
732 /​**760 /​**
733 ·​Remote·​Controller's·​Remote·​Focus·​State761 ·​Remote·​Controller's·​Remote·​Focus·​State
734 ·762 ·
820 ·​*848 ·​*
821 ·​*··​@return·​Remote·​Controller's·​identifier·​as·​a·​string.​849 ·​*··​@return·​Remote·​Controller's·​identifier·​as·​a·​string.​
822 ·​*/​850 ·​*/​
823 -​·​(NSString·​*)​RCIdentifier;​851 -​·​(NSString·​*_Nullable)​RCIdentifier;​
824 852
825 @end853 @end
826 854
845 ·​*··​@param·​rc····​Instance·​of·​the·​Remote·​Controller·​for·​which·​the·​hardware·​state·​will·​be·​updated.​873 ·​*··​@param·​rc····​Instance·​of·​the·​Remote·​Controller·​for·​which·​the·​hardware·​state·​will·​be·​updated.​
846 ·​*··​@param·​state·​Current·​state·​of·​the·​Remote·​Controller's·​hardware·​state.​874 ·​*··​@param·​state·​Current·​state·​of·​the·​Remote·​Controller's·​hardware·​state.​
847 ·​*/​875 ·​*/​
848 -​·​(void)​remoteController:​(DJIRemoteController·​*)​rc·​didUpdateHardwareStat​e:​(DJIRCHardwareState)​state;​876 -​·​(void)​remoteController:​(DJIRemoteController·​*_Nonnull)​rc·​didUpdateHardwareStat​e:​(DJIRCHardwareState)​state;​
849 877
850 /​**878 /​**
851 ·​*··​Callback·​function·​that·​updates·​the·​Remote·​Controller's·​current·​GPS·​data.​879 ·​*··​Callback·​function·​that·​updates·​the·​Remote·​Controller's·​current·​GPS·​data.​
853 ·​*··​@param·​rc····​Instance·​of·​the·​Remote·​Controller·​for·​which·​the·​GPS·​data·​will·​be·​updated.​881 ·​*··​@param·​rc····​Instance·​of·​the·​Remote·​Controller·​for·​which·​the·​GPS·​data·​will·​be·​updated.​
854 ·​*··​@param·​state·​Current·​state·​of·​the·​Remote·​Controller's·​GPS·​data.​882 ·​*··​@param·​state·​Current·​state·​of·​the·​Remote·​Controller's·​GPS·​data.​
855 ·​*/​883 ·​*/​
856 -​·​(void)​remoteController:​(DJIRemoteController·​*)​rc·​didUpdateGpsData:​(DJIRCGPSData)​gpsData;​884 -​·​(void)​remoteController:​(DJIRemoteController·​*_Nonnull)​rc·​didUpdateGpsData:​(DJIRCGPSData)​gpsData;​
857 885
858 /​**886 /​**
859 ·​*··​Callback·​function·​that·​updates·​the·​Remote·​Controller's·​current·​battery·​state.​887 ·​*··​Callback·​function·​that·​updates·​the·​Remote·​Controller's·​current·​battery·​state.​
861 ·​*··​@param·​rc····​Instance·​of·​the·​Remote·​Controller·​for·​which·​the·​battery·​state·​will·​be·​updated.​889 ·​*··​@param·​rc····​Instance·​of·​the·​Remote·​Controller·​for·​which·​the·​battery·​state·​will·​be·​updated.​
862 ·​*··​@param·​state·​Current·​state·​of·​the·​Remote·​Controller's·​battery·​state.​890 ·​*··​@param·​state·​Current·​state·​of·​the·​Remote·​Controller's·​battery·​state.​
863 ·​*/​891 ·​*/​
864 -​·​(void)​remoteController:​(DJIRemoteController·​*)​rc·​didUpdateBatteryState​:​(DJIRCBatteryInfo)​batteryInfo;​892 -​·​(void)​remoteController:​(DJIRemoteController·​*_Nonnull)​rc·​didUpdateBatteryState​:​(DJIRCBatteryInfo)​batteryInfo;​
865 893
866 /​**894 /​**
867 ·​*··​Callback·​function·​that·​gets·​called·​when·​a·​slave·​Remote·​Controller·​makes·​a·​request·​to·​a·​master895 ·​*··​Callback·​function·​that·​gets·​called·​when·​a·​slave·​Remote·​Controller·​makes·​a·​request·​to·​a·​master
870 ·​*··​@param·​rc····​Instance·​of·​the·​Remote·​Controller.​898 ·​*··​@param·​rc····​Instance·​of·​the·​Remote·​Controller.​
871 ·​*··​@param·​state·​Information·​of·​the·​slave·​making·​the·​request·​to·​the·​master·​Remote·​Controller.​899 ·​*··​@param·​state·​Information·​of·​the·​slave·​making·​the·​request·​to·​the·​master·​Remote·​Controller.​
872 ·​*/​900 ·​*/​
873 -​·​(void)​remoteController:​(DJIRemoteController·​*)​rc·​didReceiveGimbalContr​olRequestFromSlave:​(DJIRCInfo·​*)​slave;​901 -​·​(void)​remoteController:​(DJIRemoteController·​*_Nonnull)​rc·​didReceiveGimbalContr​olRequestFromSlave:​(DJIRCInfo·​*_Nonnull)​slave;​
874 902
875 /​**903 /​**
876 ·​*··​Callback·​function·​that·​updates·​the·​Remote·​Focus·​State,​·​only·​support·​Focus·​product.​·​If·​the·​isRCRemoteFocusChecki​ngSupported·​is·​YES,​·​this·​delegate·​method·​will·​be·​called.​904 ·​*··​Callback·​function·​that·​updates·​the·​Remote·​Focus·​State,​·​only·​support·​Focus·​product.​·​If·​the·​isRCRemoteFocusChecki​ngSupported·​is·​YES,​·​this·​delegate·​method·​will·​be·​called.​
878 ·​*··​@param·​rc····​Instance·​of·​the·​Remote·​Controller·​for·​which·​the·​battery·​state·​will·​be·​updated.​906 ·​*··​@param·​rc····​Instance·​of·​the·​Remote·​Controller·​for·​which·​the·​battery·​state·​will·​be·​updated.​
879 ·​*··​@param·​state·​Current·​state·​of·​the·​Remote·​Focus·​state.​907 ·​*··​@param·​state·​Current·​state·​of·​the·​Remote·​Focus·​state.​
880 ·​*/​908 ·​*/​
881 -​·​(void)​remoteController:​(DJIRemoteController·​*)​rc·​didUpdateRemoteFocusS​tate:​(DJIRCRemoteFocusStat​e)​remoteFocusState;​909 -​·​(void)​remoteController:​(DJIRemoteController·​*_Nonnull)​rc·​didUpdateRemoteFocusS​tate:​(DJIRCRemoteFocusStat​e)​remoteFocusState;​
882 910
883 @end911 @end
884 912
917 ·​*··​Gets·​the·​Remote·​Controller's·​name.​945 ·​*··​Gets·​the·​Remote·​Controller's·​name.​
918 ·​*946 ·​*
919 ·​*/​947 ·​*/​
920 -​·​(void)​getRCNameWithCompleti​on:​(void·​(^)​(NSString·​*_Nullable·​name,​·​NSError·​*_Nullable·​error)​)​completion;​948 -​·​(void)​getRCNameWithCompleti​on:​(void·​(^_Nonnull)​(NSString·​*_Nullable·​name,​·​NSError·​*_Nullable·​error)​)​completion;​
921 949
922 /​**950 /​**
923 ·​*··​Sets·​the·​Remote·​Controller's·​password.​951 ·​*··​Sets·​the·​Remote·​Controller's·​password.​
931 ·​*··​Gets·​the·​Remote·​Controller's·​password.​959 ·​*··​Gets·​the·​Remote·​Controller's·​password.​
932 ·​*960 ·​*
933 ·​*/​961 ·​*/​
934 -​·​(void)​getRCPasswordWithComp​letion:​(void·​(^)​(NSString·​*_Nullable·​password,​·​NSError·​*_Nullable·​error)​)​completion;​962 -​·​(void)​getRCPasswordWithComp​letion:​(void·​(^_Nonnull)​(NSString·​*_Nullable·​password,​·​NSError·​*_Nullable·​error)​)​completion;​
935 963
936 /​**964 /​**
937 ·​*··​Sets·​the·​Remote·​Controller's·​control·​mode.​965 ·​*··​Sets·​the·​Remote·​Controller's·​control·​mode.​
945 ·​*··​Gets·​the·​master·​Remote·​Controller's·​control·​mode.​973 ·​*··​Gets·​the·​master·​Remote·​Controller's·​control·​mode.​
946 ·​*974 ·​*
947 ·​*/​975 ·​*/​
948 -​·​(void)​getRCControlModeWithC​ompletion:​(void·​(^)​(DJIRCControlMode·​mode,​·​NSError·​*_Nullable·​error)​)​completion;​976 -​·​(void)​getRCControlModeWithC​ompletion:​(void·​(^_Nonnull)​(DJIRCControlMode·​mode,​·​NSError·​*_Nullable·​error)​)​completion;​
949 977
950 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​978 /​*********************​*********************​*********************​******************/​
951 #pragma·​mark·​RC·​pairing979 #pragma·​mark·​RC·​pairing
952 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​980 /​*********************​*********************​*********************​******************/​
981
953 /​**982 /​**
954 ·​*··​Enters·​pairing·​mode,​·​in·​which·​the·​Remote·​Controller·​starts·​pairing·​with·​the·​aircraft.​983 ·​*··​Enters·​pairing·​mode,​·​in·​which·​the·​Remote·​Controller·​starts·​pairing·​with·​the·​aircraft.​
955 ·​*··​This·​method·​is·​used·​when·​the·​Remote·​Controller·​no·​longer·​recognizes·​which·​aircraft984 ·​*··​This·​method·​is·​used·​when·​the·​Remote·​Controller·​no·​longer·​recognizes·​which·​aircraft
967 ·​*··​Gets·​the·​pairing·​status·​as·​the·​Remote·​Controller·​is·​pairing·​with·​the·​aircraft.​996 ·​*··​Gets·​the·​pairing·​status·​as·​the·​Remote·​Controller·​is·​pairing·​with·​the·​aircraft.​
968 ·​*997 ·​*
969 ·​*/​998 ·​*/​
970 -​·​(void)​getRCToAircraftPairin​gStateWithCompletion:​(void·​(^)​(DJIRCToAircraftPairi​ngState·​state,​·​NSError·​*_Nullable·​error)​)​completion;​999 -​·​(void)​getRCToAircraftPairin​gStateWithCompletion:​(void·​(^_Nonnull)​(DJIRCToAircraftPairi​ngState·​state,​·​NSError·​*_Nullable·​error)​)​completion;​
971 1000
972 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1001 /​*********************​*********************​*********************​******************/​
973 #pragma·​mark·​RC·​gimbal·​control1002 #pragma·​mark·​RC·​gimbal·​control
974 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1003 /​*********************​*********************​*********************​******************/​
1004
975 /​**1005 /​**
976 ·​*··​Sets·​the·​gimbal's·​pitch·​speed·​for·​the·​Remote·​Controller's·​upper·​left·​wheel·​(Gimbal·​Dial)​.​1006 ·​*··​Sets·​the·​gimbal's·​pitch·​speed·​for·​the·​Remote·​Controller's·​upper·​left·​wheel·​(Gimbal·​Dial)​.​
977 ·​*1007 ·​*
985 ·​*··​Gets·​the·​gimbal's·​pitch·​speed·​for·​the·​Remote·​Controller's·​upper·​left·​wheel·​(Gimbal·​Dial)​.​1015 ·​*··​Gets·​the·​gimbal's·​pitch·​speed·​for·​the·​Remote·​Controller's·​upper·​left·​wheel·​(Gimbal·​Dial)​.​
986 ·​*1016 ·​*
987 ·​*/​1017 ·​*/​
988 -​·​(void)​getRCWheelGimbalSpeed​WithCompletion:​(void·​(^)​(uint8_t·​speed,​·​NSError·​*_Nullable·​error)​)​completion;​1018 -​·​(void)​getRCWheelGimbalSpeed​WithCompletion:​(void·​(^_Nonnull)​(uint8_t·​speed,​·​NSError·​*_Nullable·​error)​)​completion;​
989 1019
990 /​**1020 /​**
991 ·​*··​Sets·​which·​of·​the·​gimbal·​directions·​the·​top·​left·​wheel·​(Gimbal·​Dial)​·​on·​the·​Remote·​Controller·​will·​control.​·​The1021 ·​*··​Sets·​which·​of·​the·​gimbal·​directions·​the·​top·​left·​wheel·​(Gimbal·​Dial)​·​on·​the·​Remote·​Controller·​will·​control.​·​The
1002 ·​*··​Gets·​which·​of·​the·​gimbal·​directions·​the·​top·​left·​wheel·​(Gimbal·​Dial)​·​on·​the·​Remote·​Controller·​will·​control.​1032 ·​*··​Gets·​which·​of·​the·​gimbal·​directions·​the·​top·​left·​wheel·​(Gimbal·​Dial)​·​on·​the·​Remote·​Controller·​will·​control.​
1003 ·​*1033 ·​*
1004 ·​*/​1034 ·​*/​
1005 -​·​(void)​getRCControlGimbalDir​ectionWithCompletion:​(void·​(^)​(DJIRCGimbalControlDi​rection·​direction,​·​NSError·​*_Nullable·​error)​)​completion;​1035 -​·​(void)​getRCControlGimbalDir​ectionWithCompletion:​(void·​(^_Nonnull)​(DJIRCGimbalControlDi​rection·​direction,​·​NSError·​*_Nullable·​error)​)​completion;​
1006 1036
1007 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1037 /​*********************​*********************​*********************​******************/​
1008 #pragma·​mark·​RC·​custom·​buttons1038 #pragma·​mark·​RC·​custom·​buttons
1009 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1039 /​*********************​*********************​*********************​******************/​
1040
1010 /​**1041 /​**
1011 ·​*··​Sets·​custom·​button's·​(Back·​Button's)​·​tags,​·​which·​can·​be·​used·​by·​the·​user·​to·​record·​user·​settings·​for·​a·​particular·​Remote·​Controller.​·​Unlike·​all·​other·​buttons,​·​switches·​and·​sticks·​on·​the·​Remote·​Controller,​·​the·​custom·​buttons·​only·​send·​state·​to·​the·​Mobile·​Device·​and·​not·​the·​aircraft.​1042 ·​*··​Sets·​custom·​button's·​(Back·​Button's)​·​tags,​·​which·​can·​be·​used·​by·​the·​user·​to·​record·​user·​settings·​for·​a·​particular·​Remote·​Controller.​·​Unlike·​all·​other·​buttons,​·​switches·​and·​sticks·​on·​the·​Remote·​Controller,​·​the·​custom·​buttons·​only·​send·​state·​to·​the·​Mobile·​Device·​and·​not·​the·​aircraft.​
1012 ·​*1043 ·​*
1020 ·​*··​Gets·​the·​custom·​button's·​(Back·​Button's)​·​tags.​1051 ·​*··​Gets·​the·​custom·​button's·​(Back·​Button's)​·​tags.​
1021 ·​*1052 ·​*
1022 ·​*/​1053 ·​*/​
1023 -​·​(void)​getRCCustomButtonTagW​ithCompletion:​(void·​(^)​(uint8_t·​tag1,​·​uint8_t·​tag2,​·​NSError·​*_Nullable·​error)​)​completion;​1054 -​·​(void)​getRCCustomButtonTagW​ithCompletion:​(void·​(^_Nonnull)​(uint8_t·​tag1,​·​uint8_t·​tag2,​·​NSError·​*_Nullable·​error)​)​completion;​
1024 1055
1025 /​**1056 /​**
1026 ·​*··​Set·​C1·​button·​enable·​binding·​DJI·​GO·​app·​state.​·​If·​it's·​enable,​·​when·​user·​presses·​the·​C1·​button,​·​an·​alertView·​will·​pop·​up·​and·​ask·​if·​you·​want·​to·​open·​the·​DJI·​GO·​app.​·​This·​feature·​only·​supports·​MFI·​certificated·​Remote·​Controller.​1057 ·​*··​Set·​C1·​button·​enable·​binding·​DJI·​GO·​app·​state.​·​If·​it's·​enable,​·​when·​user·​presses·​the·​C1·​button,​·​an·​alertView·​will·​pop·​up·​and·​ask·​if·​you·​want·​to·​open·​the·​DJI·​GO·​app.​·​This·​feature·​only·​supports·​MFI·​certificated·​Remote·​Controller.​
1036 ·​*··​Gets·​the·​C1·​button·​enable·​binding·​DJI·​Go·​app·​state.​·​This·​feature·​only·​supports·​MFI·​certificated·​Remote·​Controller.​1067 ·​*··​Gets·​the·​C1·​button·​enable·​binding·​DJI·​Go·​app·​state.​·​This·​feature·​only·​supports·​MFI·​certificated·​Remote·​Controller.​
1037 ·​*1068 ·​*
1038 ·​*/​1069 ·​*/​
1039 -​·​(void)​·​getRCC1ButtonBindingE​nabledWithCompletion:​(void(^_Nullable)​(BOOL·​enable,​·​NSError·​*·​_Nullable·​error)​)​completion;​1070 -​·​(void)​·​getRCC1ButtonBindingE​nabledWithCompletion:​(void(^_Nonnull)​(BOOL·​enable,​·​NSError·​*·​_Nullable·​error)​)​completion;​
1040 1071
1041 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1072 /​*********************​*********************​*********************​******************/​
1042 #pragma·​mark·​RC·​master·​and·​slave·​mode1073 #pragma·​mark·​RC·​master·​and·​slave·​mode
1043 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1074 /​*********************​*********************​*********************​******************/​
1044 1075
1045 /​**1076 /​**
1046 ·​*··​Query·​method·​to·​check·​if·​the·​Remote·​Controller·​supports·​master/​slave·​mode.​1077 ·​*··​Query·​method·​to·​check·​if·​the·​Remote·​Controller·​supports·​master/​slave·​mode.​
1060 ·​*··​Gets·​the·​Remote·​Controller's·​mode.​1091 ·​*··​Gets·​the·​Remote·​Controller's·​mode.​
1061 ·​*1092 ·​*
1062 ·​*/​1093 ·​*/​
1063 -​·​(void)​getRemoteControllerMo​deWithCompletion:​(void·​(^)​(DJIRemoteControllerM​ode·​mode,​·​BOOL·​isConnected,​·​NSError·​*_Nullable·​error)​)​completion;​1094 -​·​(void)​getRemoteControllerMo​deWithCompletion:​(void·​(^_Nonnull)​(DJIRemoteControllerM​ode·​mode,​·​BOOL·​isConnected,​·​NSError·​*_Nullable·​error)​)​completion;​
1064 1095
1065 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1096 /​*********************​*********************​*********************​******************/​
1066 #pragma·​mark·​RC·​master·​and·​slave·​mode·​-​·​Slave·​RC·​methods1097 #pragma·​mark·​RC·​master·​and·​slave·​mode·​-​·​Slave·​RC·​methods
1067 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1098 /​*********************​*********************​*********************​******************/​
1068 1099
1069 /​**1100 /​**
1070 ·​*··​Used·​by·​a·​slave·​Remote·​Controller·​to·​join·​a·​master·​Remote·​Controller.​·​If·​the·​master·​Remote·​Controller·​accepts·​the·​request,​·​the·​master·​Remote·​Controller·​will·​control·​the·​aircraft,​·​and·​the·​slave·​Remote·​Controller·​will·​control·​the·​gimbal·​and/​or·​be·​able·​to·​view·​the·​downlink·​video.​1101 ·​*··​Used·​by·​a·​slave·​Remote·​Controller·​to·​join·​a·​master·​Remote·​Controller.​·​If·​the·​master·​Remote·​Controller·​accepts·​the·​request,​·​the·​master·​Remote·​Controller·​will·​control·​the·​aircraft,​·​and·​the·​slave·​Remote·​Controller·​will·​control·​the·​gimbal·​and/​or·​be·​able·​to·​view·​the·​downlink·​video.​
1074 ·​*··​@param·​password·​Master's·​password.​1105 ·​*··​@param·​password·​Master's·​password.​
1075 ·​*··​@param·​block····​Remote·​execution·​result·​callback·​block.​1106 ·​*··​@param·​block····​Remote·​execution·​result·​callback·​block.​
1076 ·​*/​1107 ·​*/​
1077 -​·​(void)​joinMasterWithID:​(DJIRCID)​masterId·​masterName:​(NSString·​*_Nonnull)​masterName·​masterPassword:​(NSString·​*_Nonnull)​masterPassword·​withCompletion:​(void·​(^)​(DJIRCJoinMasterResul​t·​result,​·​NSError·​*_Nullable·​error)​)​completion;​1108 -​·​(void)​joinMasterWithID:​(DJIRCID)​masterId·​masterName:​(NSString·​*_Nonnull)​masterName·​masterPassword:​(NSString·​*_Nonnull)​masterPassword·​withCompletion:​(void·​(^_Nonnull)​(DJIRCJoinMasterResul​t·​result,​·​NSError·​*_Nullable·​error)​)​completion;​
1078 1109
1079 /​**1110 /​**
1080 ·​*··​Returns·​the·​master·​Remote·​Controller's·​information,​·​which·​includes·​the·​unique·​identifier,​·​name,​·​and·​password.​1111 ·​*··​Returns·​the·​master·​Remote·​Controller's·​information,​·​which·​includes·​the·​unique·​identifier,​·​name,​·​and·​password.​
1081 ·​*1112 ·​*
1082 ·​*/​1113 ·​*/​
1083 -​·​(void)​getJoinedMasterNameAn​dPassword:​(void·​(^)​(DJIRCID·​masterId,​·​NSString·​*_Nullable·​masterName,​·​NSString·​*_Nullable·​masterPassword,​·​NSError·​*_Nullable·​error)​)​completion;​1114 -​·​(void)​getJoinedMasterNameAn​dPassword:​(void·​(^_Nonnull)​(DJIRCID·​masterId,​·​NSString·​*_Nullable·​masterName,​·​NSString·​*_Nullable·​masterPassword,​·​NSError·​*_Nullable·​error)​)​completion;​
1084 1115
1085 /​**1116 /​**
1086 ·​*··​Starts·​a·​search·​by·​slave·​Remote·​Controller·​for·​nearby·​master·​Remote·​Controllers.​·​To·​get·​the·​list·​of·​master·​Remote·​Controllers,​·​first·​call·​`getAvailableMastersW​ithCallbackBlock`,​·​then·​call·​`stopMasterRCSearchWi​thCompletion`·​to·​end·​the·​search.​1117 ·​*··​Starts·​a·​search·​by·​slave·​Remote·​Controller·​for·​nearby·​master·​Remote·​Controllers.​·​To·​get·​the·​list·​of·​master·​Remote·​Controllers,​·​first·​call·​`getAvailableMastersW​ithCallbackBlock`,​·​then·​call·​`stopMasterRCSearchWi​thCompletion`·​to·​end·​the·​search.​
1092 ·​*··​Returns·​all·​available·​master·​Remote·​Controllers·​that·​are·​located·​nearby.​·​Before·​this·​method·​can·​be·​used,​·​call·​`startMasterRCSearchW​ithCompletion`·​to·​start·​the·​search·​for·​master·​Remote·​Controllers.​·​Once·​the·​list·​of·​masters·​is·​received,​·​call·​`stopMasterRCSearchWi​thCompletion`·​to·​end·​the·​search.​1123 ·​*··​Returns·​all·​available·​master·​Remote·​Controllers·​that·​are·​located·​nearby.​·​Before·​this·​method·​can·​be·​used,​·​call·​`startMasterRCSearchW​ithCompletion`·​to·​start·​the·​search·​for·​master·​Remote·​Controllers.​·​Once·​the·​list·​of·​masters·​is·​received,​·​call·​`stopMasterRCSearchWi​thCompletion`·​to·​end·​the·​search.​
1093 ·​*1124 ·​*
1094 ·​*/​1125 ·​*/​
1095 -​·​(void)​getAvailableMastersWi​thCompletion:​(void·​(^)​(NSArray<DJIRCInfo·​*>·​*masters,​·​NSError·​*_Nullable·​error)​)​completion;​1126 -​·​(void)​getAvailableMastersWi​thCompletion:​(void·​(^_Nonnull)​(NSArray<DJIRCInfo·​*>·​*_Nullable·masters,​·​NSError·​*_Nullable·​error)​)​completion;​
1096 1127
1097 /​**1128 /​**
1098 ·​*··​Used·​by·​a·​slave·​Remote·​Controller·​to·​stop·​the·​search·​for·​nearby·​master·​Remote·​Controllers.​1129 ·​*··​Used·​by·​a·​slave·​Remote·​Controller·​to·​stop·​the·​search·​for·​nearby·​master·​Remote·​Controllers.​
1104 ·​*··​Returns·​the·​state·​of·​the·​master·​Remote·​Controller·​search.​·​The·​search·​is·​initiated·​by·​the·​Mobile·​Device,​·​but·​performed·​by·​the·​Remote·​Controller.​·​Therefore,​·​if·​the·​Mobile·​Device's·​application·​crashes·​while·​a·​search·​is·​ongoing,​·​this·​method·​can·​be·​used·​to·​let·​the·​new·​instance·​of·​the·​application·​understand·​the·​Remote·​Controller·​state.​1135 ·​*··​Returns·​the·​state·​of·​the·​master·​Remote·​Controller·​search.​·​The·​search·​is·​initiated·​by·​the·​Mobile·​Device,​·​but·​performed·​by·​the·​Remote·​Controller.​·​Therefore,​·​if·​the·​Mobile·​Device's·​application·​crashes·​while·​a·​search·​is·​ongoing,​·​this·​method·​can·​be·​used·​to·​let·​the·​new·​instance·​of·​the·​application·​understand·​the·​Remote·​Controller·​state.​
1105 ·​*1136 ·​*
1106 ·​*/​1137 ·​*/​
1107 -​·​(void)​getMasterRCSearchStat​eWithCompletion:​(void·​(^)​(BOOL·​isStarted,​·​NSError·​*_Nullable·​error)​)​completion;​1138 -​·​(void)​getMasterRCSearchStat​eWithCompletion:​(void·​(^_Nonnull)​(BOOL·​isStarted,​·​NSError·​*_Nullable·​error)​)​completion;​
1108 1139
1109 /​**1140 /​**
1110 ·​*··​Removes·​a·​master·​Remote·​Controller·​from·​the·​current·​slave·​Remote·​Controller.​1141 ·​*··​Removes·​a·​master·​Remote·​Controller·​from·​the·​current·​slave·​Remote·​Controller.​
1118 ·​*··​Called·​by·​the·​slave·​Remote·​Controller·​to·​request·​gimbal·​control·​from·​the·​master·​Remote·​Controller.​1149 ·​*··​Called·​by·​the·​slave·​Remote·​Controller·​to·​request·​gimbal·​control·​from·​the·​master·​Remote·​Controller.​
1119 ·​*·​s1150 ·​*·​s
1120 ·​*/​1151 ·​*/​
1121 -​·​(void)​requestGimbalControlR​ightWithCompletion:​(void·​(^)​(DJIRCRequestGimbalCo​ntrolResult·​result,​·​NSError·​*_Nullable·​error)​)​completion;​1152 -​·​(void)​requestGimbalControlR​ightWithCompletion:​(void·​(^_Nonnull)​(DJIRCRequestGimbalCo​ntrolResult·​result,​·​NSError·​*_Nullable·​error)​)​completion;​
1122 1153
1123 /​**1154 /​**
1124 ·​*··​Sets·​the·​Remote·​Contoller's·​slave·​control·​mode.​1155 ·​*··​Sets·​the·​Remote·​Contoller's·​slave·​control·​mode.​
1132 ·​*··​Gets·​the·​Remote·​Controller's·​slave·​control·​mode.​1163 ·​*··​Gets·​the·​Remote·​Controller's·​slave·​control·​mode.​
1133 ·​*1164 ·​*
1134 ·​*/​1165 ·​*/​
1135 -​·​(void)​getSlaveControlModeWi​thCompletion:​(void·​(^)​(DJIRCControlMode·​mode,​·​NSError·​*_Nullable·​error)​)​completion;​1166 -​·​(void)​getSlaveControlModeWi​thCompletion:​(void·​(^_Nonnull)​(DJIRCControlMode·​mode,​·​NSError·​*_Nullable·​error)​)​completion;​
1136 1167
1137 /​**1168 /​**
1138 ·​*··​Called·​by·​the·​slave·​Remote·​Controller·​to·​set·​the·​gimbal's·​pitch,​·​roll,​·​and·​yaw·​speed·​with·​a·​range·​of·​[0,​·​100].​1169 ·​*··​Called·​by·​the·​slave·​Remote·​Controller·​to·​set·​the·​gimbal's·​pitch,​·​roll,​·​and·​yaw·​speed·​with·​a·​range·​of·​[0,​·​100].​
1146 ·​*··​Gets·​the·​current·​slave's·​gimbal's·​pitch,​·​roll,​·​and·​yaw·​speed·​with·​a·​range·​of·​[0,​·​100].​1177 ·​*··​Gets·​the·​current·​slave's·​gimbal's·​pitch,​·​roll,​·​and·​yaw·​speed·​with·​a·​range·​of·​[0,​·​100].​
1147 ·​*1178 ·​*
1148 ·​*/​1179 ·​*/​
1149 -​·​(void)​getSlaveJoystickContr​olGimbalSpeedWithComp​letion:​(void·​(^)​(DJIRCGimbalControlSp​eed·​speed,​·​NSError·​*_Nullable·​error)​)​completion;​1180 -​·​(void)​getSlaveJoystickContr​olGimbalSpeedWithComp​letion:​(void·​(^_Nonnull)​(DJIRCGimbalControlSp​eed·​speed,​·​NSError·​*_Nullable·​error)​)​completion;​
1150 1181
1151 1182 /​*********************​*********************​*********************​******************/​
1152 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
1153 #pragma·​mark·​RC·​master·​and·​slave·​mode·​-​·​Master·​RC·​methods1183 #pragma·​mark·​RC·​master·​and·​slave·​mode·​-​·​Master·​RC·​methods
1154 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​1184 /​*********************​*********************​*********************​******************/​
1155 1185
1156 /​**1186 /​**
1157 ·​*··​Used·​by·​the·​current·​master·​Remote·​Controller·​to·​get·​all·​the·​slaves·​connected·​to·​it.​1187 ·​*··​Used·​by·​the·​current·​master·​Remote·​Controller·​to·​get·​all·​the·​slaves·​connected·​to·​it.​
1159 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​·​The·​arrray·​of·​slaves·​contains·​objects1189 ·​*··​@param·​block·​Remote·​execution·​result·​callback·​block.​·​The·​arrray·​of·​slaves·​contains·​objects
1160 ·​*··​of·​type·​`DJIRCInfo`.​1190 ·​*··​of·​type·​`DJIRCInfo`.​
1161 ·​*/​1191 ·​*/​
1162 -​·​(void)​getSlaveListWithCompl​etion:​(void·​(^)​(NSArray<DJIRCInfo·​*>·​*slaveList,​·​NSError·​*_Nullable·​error)​)​block;​1192 -​·​(void)​getSlaveListWithCompl​etion:​(void·​(^_Nonnull)​(NSArray<DJIRCInfo·​*>·​*_Nullable·slaveList,​·​NSError·​*_Nullable·​error)​)​block;​
1163 1193
1164 /​**1194 /​**
1165 ·​*··​Removes·​a·​slave·​Remote·​Controller·​from·​the·​current·​master·​Remote·​Controller.​1195 ·​*··​Removes·​a·​slave·​Remote·​Controller·​from·​the·​current·​master·​Remote·​Controller.​
diff --git a/Headers/DJISDK.h b/Headers/DJISDK.h
index 23bd724..753c8f4 100644
3.1.1/​Headers/​DJISDK.​h3.2/​Headers/​DJISDK.​h
29 /​*********************​*********************​*********************​******************/​29 /​*********************​*********************​*********************​******************/​
30 #import·​<DJISDK/​DJIAircraft.​h>30 #import·​<DJISDK/​DJIAircraft.​h>
31 #import·​<DJISDK/​DJIHandheld.​h>31 #import·​<DJISDK/​DJIHandheld.​h>
32 #import·​<DJISDK/​DJIBaseProduct.​h>
33
34 /​*********************​*********************​*********************​******************/​
35 #pragma·​mark·​-​·​Diagnostics
36 /​*********************​*********************​*********************​******************/​
37 #import·​<DJISDK/​DJIDiagnostics.​h>
38
39 /​*********************​*********************​*********************​******************/​
40 #pragma·​mark·​-​·​Utility
41 /​*********************​*********************​*********************​******************/​
42 #import·​<DJISDK/​DJIParamCapability.​h>
43 #import·​<DJISDK/​DJIParamCapabilityMin​Max.​h>
32 44
33 /​*********************​*********************​*********************​******************/​45 /​*********************​*********************​*********************​******************/​
34 #pragma·​mark·​-​·​Components46 #pragma·​mark·​-​·​Components
43 #import·​<DJISDK/​DJICompass.​h>55 #import·​<DJISDK/​DJICompass.​h>
44 #import·​<DJISDK/​DJIIntelligentFlightA​ssistant.​h>56 #import·​<DJISDK/​DJIIntelligentFlightA​ssistant.​h>
45 #import·​<DJISDK/​DJIIMUState.​h>57 #import·​<DJISDK/​DJIIMUState.​h>
58 #import·​<DJISDK/​DJIRTK.​h>
59 #import·​<DJISDK/​DJISimulator.​h>
46 60
47 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​61 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
48 #pragma·​mark·​RemoteController62 #pragma·​mark·​RemoteController
118 #import·​<DJISDK/​DJIRecordVideoStep.​h>132 #import·​<DJISDK/​DJIRecordVideoStep.​h>
119 #import·​<DJISDK/​DJIShootPhotoStep.​h>133 #import·​<DJISDK/​DJIShootPhotoStep.​h>
120 #import·​<DJISDK/​DJIGimbalAttitudeStep​.​h>134 #import·​<DJISDK/​DJIGimbalAttitudeStep​.​h>
135 #import·​<DJISDK/​DJIAircraftYawStep.​h>
121 136
122 /​*********************​*********************​*********************​******************/​137 /​*********************​*********************​*********************​******************/​
123 #pragma·​mark·​-​·​Categories138 #pragma·​mark·​-​·​Categories
diff --git a/Headers/DJITapFlyMission.h b/Headers/DJITapFlyMission.h
index e52fa51..1fc908e 100644
3.1.1/​Headers/​DJITapFlyMission.​h3.2/​Headers/​DJITapFlyMission.​h
18 typedef·​struct18 typedef·​struct
19 {19 {
20 ····​/​**20 ····​/​**
21 ·····​*··x·value·​of·​the·​cartesian·​vector.​21 ·····​*··X-​value·​of·​the·​cartesian·​vector.​
22 ·····​*/​22 ·····​*/​
23 ····​double·​x;​23 ····​double·​x;​
24 ····​/​**24 ····​/​**
25 ·····​*··y·value·​of·​the·​cartesian·​vector.​25 ·····​*··Y-​value·​of·​the·​cartesian·​vector.​
26 ·····​*/​26 ·····​*/​
27 ····​double·​y;​27 ····​double·​y;​
28 ····​/​**28 ····​/​**
29 ·····​*··z·value·​of·​the·​cartesian·​vector.​29 ·····​*··Z-​value·​of·​the·​cartesian·​vector.​
30 ·····​*/​30 ·····​*/​
31 ····​double·​z;​31 ····​double·​z;​
32 }·​DJIVector;​32 }·​DJIVector;​
diff --git a/Headers/DJIWaypointMission.h b/Headers/DJIWaypointMission.h
index ec081fb..72e10f8 100644
3.1.1/​Headers/​DJIWaypointMission.​h3.2/​Headers/​DJIWaypointMission.​h
63 ····​/​**63 ····​/​**
64 ·····​*··​Aircraft·​has·​returned·​to·​the·​first·​waypoint.​·​This·​happens·​when·​the·​`finishedAction`·​is·​set·​to·​`JIWaypointMissionFin​ishedGoFirstWaypoint`​.​64 ·····​*··​Aircraft·​has·​returned·​to·​the·​first·​waypoint.​·​This·​happens·​when·​the·​`finishedAction`·​is·​set·​to·​`JIWaypointMissionFin​ishedGoFirstWaypoint`​.​
65 ·····​*/​65 ·····​*/​
66 ····​DJIWaypointMissionExe​cuteStateReturnToFirs​tWaypoint66 ····​DJIWaypointMissionExe​cuteStateReturnToFirs​tWaypoint,​
67 ····​/​**
68 ·····​*··​The·​mission·​is·​currently·​paused·​by·​the·​user.​
69 ·····​*/​
70 ····​DJIWaypointMissionExe​cuteStatePaused,​
67 };​71 };​
68 72
69 /​**73 /​**
195 ·​*/​199 ·​*/​
196 200
197 @interface·​DJIWaypointMission·​:​·​DJIMission201 @interface·​DJIWaypointMission·​:​·​DJIMission
202
198 /​*********************​*********************​*********************​******************/​203 /​*********************​*********************​*********************​******************/​
199 #pragma·​mark·​-​·​Mission·​Presets204 #pragma·​mark·​-​·​Mission·​Presets
200 /​*********************​*********************​*********************​******************/​205 /​*********************​*********************​*********************​******************/​
diff --git a/Headers/DJIWiFiLink.h b/Headers/DJIWiFiLink.h
index 40ea785..9469d3f 100644
3.1.1/​Headers/​DJIWiFiLink.​h3.2/​Headers/​DJIWiFiLink.​h
36 ····​/​**36 ····​/​**
37 ·····​*··​WiFi·​Signal·​Quality·​is·​good.​37 ·····​*··​WiFi·​Signal·​Quality·​is·​good.​
38 ·····​*/​38 ·····​*/​
39 ····​DJIWiFiSignalQualityG​ood·=·0,​39 ····​DJIWiFiSignalQualityG​ood,​
40 ····​/​**40 ····​/​**
41 ·····​*··​WiFi·​Signal·​Quality·​is·​medium.​·​At·​this·​level,​·​the·​video·​quality·​will·​be·​degraded·​compared·​to·​when·​the·​signal·​quality·​is·​good.​41 ·····​*··​WiFi·​Signal·​Quality·​is·​medium.​·​At·​this·​level,​·​the·​video·​quality·​will·​be·​degraded·​compared·​to·​when·​the·​signal·​quality·​is·​good.​
42 ·····​*/​42 ·····​*/​
43 ····​DJIWiFiSignalQualityM​edium·=·1,​43 ····​DJIWiFiSignalQualityM​edium,​
44 ····​/​**44 ····​/​**
45 ·····​*··​WiFi·​Signal·​Quality·​is·​bad.​·​At·​this·​level,​·​the·​video·​quality·​will·​be·​degraded·​compared·​to·​when·​the·​signal·​quality·​is·​medium.​45 ·····​*··​WiFi·​Signal·​Quality·​is·​bad.​·​At·​this·​level,​·​the·​video·​quality·​will·​be·​degraded·​compared·​to·​when·​the·​signal·​quality·​is·​medium.​
46 ·····​*/​46 ·····​*/​
47 ····​DJIWiFiSignalQualityB​ad·=·2,​47 ····​DJIWiFiSignalQualityB​ad,​
48 ····​/​**48 ····​/​**
49 ·····​*··​WiFi·​Signal·​Quality·​is·​Unknown.​49 ·····​*··​WiFi·​Signal·​Quality·​is·​Unknown.​
50 ·····​*/​50 ·····​*/​
72 -​·​(void)​wifiLink:​(DJIWiFiLink·​*_Nonnull)​link·​didUpdatesWiFiSignalQ​uality:​(DJIWiFiSignalQuality​)​quality;​72 -​·​(void)​wifiLink:​(DJIWiFiLink·​*_Nonnull)​link·​didUpdatesWiFiSignalQ​uality:​(DJIWiFiSignalQuality​)​quality;​
73 @end73 @end
74 74
75 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​75 /​*********************​*********************​*********************​******************/​
76 #pragma·​mark·​WiFi·​Component76 #pragma·​mark·​WiFi·​Component
77 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​77 /​*********************​*********************​*********************​******************/​
78 78
79 /​**79 /​**
80 ·​*··​This·​class·​provides·​methods·​to·​change·​the·​setting·​of·​the·​product's·​WiFi.​·​You·​can·​also·​reboot·​the·​WiFi·​adapter·​inside·​product·​in·​order·​to·​make·​the·​new·​setting·​take·​effect.​80 ·​*··​This·​class·​provides·​methods·​to·​change·​the·​setting·​of·​the·​product's·​WiFi.​·​You·​can·​also·​reboot·​the·​WiFi·​adapter·​inside·​product·​in·​order·​to·​make·​the·​new·​setting·​take·​effect.​
93 ·​*/​93 ·​*/​
94 -​·​(void)​rebootWiFiWithComplet​ion:​(DJICompletionBlock)​block;​94 -​·​(void)​rebootWiFiWithComplet​ion:​(DJICompletionBlock)​block;​
95 95
96 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​96 /​*********************​*********************​*********************​******************/​
97 #pragma·​mark·​SSID·​and·​Password97 #pragma·​mark·​SSID·​and·​Password
98 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​98 /​*********************​*********************​*********************​******************/​
99
99 /​**100 /​**
100 ·​*··​Gets·​the·​WiFi·​SSID.​101 ·​*··​Gets·​the·​WiFi·​SSID.​
101 ·​*102 ·​*
102 ·​*··​@param·​block·​Remote·​execution·​result·​error·​block.​103 ·​*··​@param·​block·​Remote·​execution·​result·​error·​block.​
103 ·​*/​104 ·​*/​
104 -​·​(void)​getWiFiSSIDWithComple​tion:​(void·​(^)​(NSString·​*ssid,​·​NSError·​*_Nullable·​error)​)​block;​105 -​·​(void)​getWiFiSSIDWithComple​tion:​(void·​(^_Nonnull)​(NSString·​*_Nullable·ssid,​·​NSError·​*_Nullable·​error)​)​block;​
105 106
106 /​**107 /​**
107 ·​*··​Sets·​the·​`WiFi·​SSID.​108 ·​*··​Sets·​the·​`WiFi·​SSID.​
110 ·​*··​@param·​block·​Remote·​execution·​result·​error·​block.​111 ·​*··​@param·​block·​Remote·​execution·​result·​error·​block.​
111 ·​*112 ·​*
112 ·​*/​113 ·​*/​
113 -​·​(void)​setWiFiSSID:​(NSString·​*)​ssid·​withCompletion:​(DJICompletionBlock)​block;​114 -​·​(void)​setWiFiSSID:​(NSString·​*_Nonnull)​ssid·​withCompletion:​(DJICompletionBlock)​block;​
114 115
115 /​**116 /​**
116 ·​*··​Gets·​the·​WiFi·​Password.​117 ·​*··​Gets·​the·​WiFi·​Password.​
117 ·​*118 ·​*
118 ·​*··​@param·​block·​Remote·​execution·​result·​error·​block.​119 ·​*··​@param·​block·​Remote·​execution·​result·​error·​block.​
119 ·​*/​120 ·​*/​
120 -​·​(void)​getWiFiPasswordWithCo​mpletion:​(void·​(^)​(NSString·​*password,​·​NSError·​*_Nullable·​error)​)​block;​121 -​·​(void)​getWiFiPasswordWithCo​mpletion:​(void·​(^_Nonnull)​(NSString·​*_Nullable·password,​·​NSError·​*_Nullable·​error)​)​block;​
121 122
122 /​**123 /​**
123 ·​*··​Sets·​the·​WiFi·​Password.​124 ·​*··​Sets·​the·​WiFi·​Password.​
125 ·​*··​@param·​password·​The·​new·​WiFi·​password.​·​It·​must·​be·​at·​least·​8·​characters·​and·​can·​only·​includes·​alphabetic·​characters·​and·​numbers.​126 ·​*··​@param·​password·​The·​new·​WiFi·​password.​·​It·​must·​be·​at·​least·​8·​characters·​and·​can·​only·​includes·​alphabetic·​characters·​and·​numbers.​
126 ·​*··​@param·​block·​Remote·​execution·​result·​error·​block.​127 ·​*··​@param·​block·​Remote·​execution·​result·​error·​block.​
127 ·​*/​128 ·​*/​
128 -​·​(void)​setWiFiPassword:​(NSString·​*)​password·​withCompletion:​(DJICompletionBlock)​block;​129 -​·​(void)​setWiFiPassword:​(NSString·​*_Nullable)​password·​withCompletion:​(DJICompletionBlock)​block;​
129 130
130 131
131 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​132 /​*********************​*********************​*********************​******************/​
132 #pragma·​mark·​Frequency·​Band·​Selection133 #pragma·​mark·​Frequency·​Band·​Selection
133 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​134 /​*********************​*********************​*********************​******************/​
135
134 /​**136 /​**
135 ·​*··​YES·​if·​the·​product·​allows·​the·​user·​to·​change·​WiFi·​frequency·​bands.​137 ·​*··​YES·​if·​the·​product·​allows·​the·​user·​to·​change·​WiFi·​frequency·​bands.​
136 ·​*··​Only·​Osmo·​supports·​this·​feature.​138 ·​*··​Only·​Osmo·​supports·​this·​feature.​
152 ·​*154 ·​*
153 ·​*··​@param·​block·​Remote·​execution·​result·​error·​block.​155 ·​*··​@param·​block·​Remote·​execution·​result·​error·​block.​
154 ·​*/​156 ·​*/​
155 -​·​(void)​getWiFiFrequencyBandW​ithCompletion:​(void·​(^)​(DJIWiFiFrequencyBand​·​frequencyBand,​·​NSError·​*_Nullable·​error)​)​block;​157 -​·​(void)​getWiFiFrequencyBandW​ithCompletion:​(void·​(^_Nonnull)​(DJIWiFiFrequencyBand​·​frequencyBand,​·​NSError·​*_Nullable·​error)​)​block;​
156 158
157 159
158 @end160 @end
diff --git a/Headers/NSError+DJISDK.h b/Headers/NSError+DJISDK.h
index 3967637..19c36ba 100644
3.1.1/​Headers/​NSError+DJISDK.​h3.2/​Headers/​NSError+DJISDK.​h
46 ·​*/​46 ·​*/​
47 FOUNDATION_EXPORT·​NSString·​*_Nonnull·​const·​DJISDKRegistrationErr​orDomain;​47 FOUNDATION_EXPORT·​NSString·​*_Nonnull·​const·​DJISDKRegistrationErr​orDomain;​
48 48
49 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​49 /​*********************​*********************​*********************​******************/​
50 #pragma·​mark·​DJISDKRegistrationErr​or50 #pragma·​mark·​DJISDKRegistrationErr​or
51 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​51 /​*********************​*********************​*********************​******************/​
52
52 /​**53 /​**
53 ·​*··​The·​Error·​of·​SDK·​Registration54 ·​*··​The·​Error·​of·​SDK·​Registration
54 ·​*/​55 ·​*/​
149 ····​DJISDKRegistrationErr​orUnknown·​=·​-​999L150 ····​DJISDKRegistrationErr​orUnknown·​=·​-​999L
150 };​151 };​
151 152
152 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​153 /​*********************​*********************​*********************​******************/​
153 #pragma·​mark·​DJISDKError154 #pragma·​mark·​DJISDKError
154 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​155 /​*********************​*********************​*********************​******************/​
156
155 /​**157 /​**
156 ·​*··​DJI·​SDK·​Error158 ·​*··​DJI·​SDK·​Error
157 ·​*/​159 ·​*/​
234 ····​DJISDKErrorNotDefined​·​=·​-​1999L,​236 ····​DJISDKErrorNotDefined​·​=·​-​1999L,​
235 };​237 };​
236 238
237 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​239 /​*********************​*********************​*********************​******************/​
238 #pragma·​mark·​DJISDKCameraError240 #pragma·​mark·​DJISDKCameraError
239 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​241 /​*********************​*********************​*********************​******************/​
242
240 /​**243 /​**
241 ·​*··​DJI·​SDK·​Camera·​Error244 ·​*··​DJI·​SDK·​Camera·​Error
242 ·​*/​245 ·​*/​
302 ·····​*/​305 ·····​*/​
303 ····​DJISDKCameraErrorNoPe​rmission·​=·​-​3014L,​306 ····​DJISDKCameraErrorNoPe​rmission·​=·​-​3014L,​
304 ····​/​**307 ····​/​**
305 ·····​*··​The·​download·​process·​of·​DJIPlaybackManager·​is·​interrupted·unexpectly.​308 ·····​*··​The·​download·​process·​of·​DJIPlaybackManager·​is·​interrupted.​
309 ·····​*/​
310 ····​DJISDKCameraErrorPlay​backDownloadInterrupt​ion·​=·​-​3015L,​
311 ····​/​**
312 ·····​*··​There·​is·​no·​downloading·​files·​to·​stop.​·
306 ·····​*/​313 ·····​*/​
307 ····​DJISDKCameraErrorPlay​backDownloadInterrupt​ion·​=·​-​3015L314 ····​DJISDKCameraErrorPlay​backNoDownloadingFile​s·​=·​-​3016L,​
308 };​315 };​
309 316
310 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​317 /​*********************​*********************​*********************​******************/​
311 #pragma·​mark·​DJISDKFlightControlle​rError318 #pragma·​mark·​DJISDKFlightControlle​rError
312 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​319 /​*********************​*********************​*********************​******************/​
320
313 /​**321 /​**
314 ·​*··​DJI·​SDK·​Flight·​Controller·​Error322 ·​*··​DJI·​SDK·​Flight·​Controller·​Error
315 ·​*/​323 ·​*/​
410 ·····​*··​The·​aircraft·​is·​not·​at·​go·​home·​state.​418 ·····​*··​The·​aircraft·​is·​not·​at·​go·​home·​state.​
411 ·····​*/​419 ·····​*/​
412 ····​DJISDKFlightControlle​rErrorAircraftNotGoin​gHome·​=·​-​4022L,​420 ····​DJISDKFlightControlle​rErrorAircraftNotGoin​gHome·​=·​-​4022L,​
421 ····​/​**
422 ·····​*··​RTK·​cannot·​start·​properly.​·​Please·​reboot.​
423 ·····​*/​
424 ····​DJISDKFlightControlle​rErrorRTKStartError·​=·​-​4023L,​
425 ····​/​**
426 ·····​*··​Connection·​between·​base·​station·​and·​mobile·​station·​is·​broken.​·
427 ·····​*/​
428 ····​DJISDKFlightControlle​rErrorRTKConnectionBr​oken·​=·​-​4024L,​
429 ····​/​**
430 ·····​*··​RTK·​base·​station·​antenna·​error.​·​Check·​if·​the·​antenna·​is·​connected·​to·​the·​correct·​port.​·
431 ·····​*/​
432 ····​DJISDKFlightControlle​rErrorRTKBSAntennaErr​or·​=·​-​4025L,​
433 ····​/​**
434 ·····​*··​RTK·​base·​station's·​coordinate·​resets.​
435 ·····​*/​
436 ····​DJISDKFlightControlle​rErrorRTKBSCoordinate​sReset·​=·​-​4026L,​
413 };​437 };​
414 438
415 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​439 /​*********************​*********************​*********************​******************/​
416 #pragma·​mark·​DJISDKMissionError440 #pragma·​mark·​DJISDKMissionError
417 /​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​441 /​*********************​*********************​*********************​******************/​
442
418 /​**443 /​**
419 ·​*··​DJI·​SDK·​Mission·​Error444 ·​*··​DJI·​SDK·​Mission·​Error
420 ·​*/​445 ·​*/​